2

Я пытался скопировать все файлы в различных подкаталогах с расширением JPG расположенными на C: в один каталог на D: . Я не хочу сохранять структуру каталогов.

Это насколько я получил:

for /r C:\ %f in (*.jpg) do @copy "%f" D:\pictures

После этого меня спрашивают, хочу ли я перезаписать D:\pictures . Если я отвечаю « yes , я получаю один файл, и если я отвечаю «нет», файлы не копируются.

Я также попытался добавить /y в конце команды, но она просто перезаписывает предыдущие файлы, оставляя только последний.

2 ответа2

2

Это должно работать:

for /r C:\ %f in (*.jpg) do @copy "%f" D:\pictures\

Объяснение:

Команда copy "%f" D:\pictures копирует файл %f в папку D:\pictures , которая является файлом pictures в каталоге D:\ .

Добавление завершающего \ чтобы убедиться, что copy рассматривает pictures как каталог.

Если вы копируете несколько файлов в одном месте (например, copy *.* D:\backup), copy автоматически рассматривает backup как каталог. Но это не тот случай, когда вы копируете один файл.

0

for /R c:\ %% 1 in ("* .txt") do @xcopy "%% 1" d:\ txttemp %% ~ p1 /e /i /s /q /h

этот код будет скопирован без перезаписи и создаст папки и подпапки

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .