![]() |
Копирование файлов по маске расширения
Проблема:
нежен батник типа xcopy *.jpg E:\ но в этой же папке существуют файлы типа *.jpg_omt xcopy copy копирует и *.jpg и *.jpg_omt. т.е. если до трёх знаков или после трёх знаков маска работает правильно, то именно три знака не имеют ограничения по количеству знаков после точки в маске. сторонние программы не катят. |
Валерий_Назаров@vk, маска работает правильно в любом случае. Дело в том, что Ваши файлы «*.jpg_omt» имеют короткие имена в виде «xxxx~N.jpg» (dir /x). Потому они и попадают под маску и копируются.
Возможный обходной путь: Код:
for %%i in ("*.jpg") do if /i "%%~xi" equ ".jpg" copy "%%~fi" "e:\" |
спасибо, работает.
|
в продолжении темы:
for /R %%i in ("*.jpg") do if /i "%%~xi" equ ".jpg" xcopy "%%~fi" D:\F как прописать, что бы копировал с сохранением структуры подкаталогов? |
Цитата:
Код:
xcopy.exe /? |
прочитал.
xcopy /E "%%~fi" D:\F надо писать xcopy /E но команда for /R не передаёт названия каталогов и всё валится в корневик. |
Используйте robocopy:
Код:
robocopy.exe "." "d:\F" "*.jpg" /e /xf "*.jpg_omt" |
всё работает и стало как-то изящней.
|
Время: 06:59. |
Время: 06:59.
© OSzone.net 2001-