2014-06-20 6 views
2

Я хочу скопировать файл с расширением .dyn, который находится в каждой подпапке основной папки (T15_finished). Я хочу скопировать его в соответствующую подпапку в другом месте (T15). Я создал это местоположение, используя команду xcopy. Здесь .dyn-файл успешно копируется в соответствующей подпапке в папке T15 (см. Ниже код). Теперь у меня есть файл с расширением как .dynain, который находится в той же подпапке, что и .dyn. И файл .dynain также копируется, который я не хочу. Пожалуйста, смотрите следующий код, который я создал. Может ли кто-нибудь сказать мне, что случилось?как скопировать файлы из одной директории в другую в пакетной команде

@echo off 

xcopy D:\Master\SPRINGBACK\CPW\T15_finished D:\Master\SPRINGBACK\FRESH_SPRINGBACK\CPW\T15 /t 
xcopy /e D:\Master\SPRINGBACK\CPW\T15_finished\*.dyn D:\Master\SPRINGBACK\FRESH_SPRINGBACK\CPW\T15 

pause 

ответ

1

Короткое имя файла подбирается так же, как и длинное имя файла. Это причина.

Решение состоит в том, чтобы использовать другую команду для удаления файлов:

del /s "D:\Master\SPRINGBACK\FRESH_SPRINGBACK\CPW\T15\*.dynain" 
+0

Да .. Я сделал с командой del .. Но я хотел спросить, есть ли возможность .. Большое спасибо .. – makino

2

Сокращенные названия файлов. Если вы делаете dir /x в папке, содержащей файл .dynain, вы увидите имя файла 8.3, сгенерированное для файла, и оно будет иметь расширение .dyn.

Если вы знаете, что расширения конфликтующих файлов, вы можете использовать robocopy с /xf переключателем, чтобы указать файлы (*.dynain), чтобы исключить, или вы можете сгенерировать файл исключений для использования с xcopy /exclude:file (см xcopy /? для объяснения)

Или, вы можете создать список файлов для исключения

(for /f "tokens=" %%a in (
    'dir /s /b "D:\Master\SPRINGBACK\CPW\T15_finished\*.dyn" ^| findstr /v /i /e /l ".dyn"' 
) do @echo(%%~nxa)>excludedFiles.txt 

xcopy /exclude:excludedFiles.txt /e D:\Master\SPRINGBACK\CPW\T15_finished\*.dyn D:\Master\SPRINGBACK\FRESH_SPRINGBACK\CPW\T15 

Или (как отправленный foxidrive), скопировать все, а затем удалить НЕРАСПРОСТРАНЕНИИ необходимые файлы.

+0

ОК .. спасибо .. Я сделал с командами удаления. – makino

+0

+1 для решения Robocopy – foxidrive

Смежные вопросы