Я хотел бы использовать xcopy на компьютере с Windows, чтобы вытащить все файлы с расширением .png в один каталог.
Я пытался xcopy C:\folder\*.png /s C:\png\
, но он хранит подкаталоги внутри \ folder (например, в C: \ png, есть C: \ png \ a \ b \ c \ img.png), который мне не нужен. Я просто хочу, чтобы все .png внутри C: \ png без сохранения структуры каталогов, которая была в папке C: \.
Ответы:
Это можно сделать с помощью старого доброго
for
:Ничего фантастического.
источник
%f
?f" was unexpected at this time
. Смена%f
на%%f
сработало. Однако я выполнял это в пакетном файле: если вы используете команду FOR в командной строке, а не в пакетной программе, используйте только один знак процента:% G вместо %% G. ss64.com/nt/for.htmlfor
могут запутаться в двух разныхd
вещах%~dd
.for
Документация предлагает использовать прописные буквы , для переменных , чтобы избежать путаницы, но замены до сих пор четко отличим от имени переменной, я думаю.Если у вас установлен Cygwin, это будет работа для поиска:
(хотя это будет иметь проблемы, если в любом из имен файлов есть пробелы - вы найдете какой-то вариант
find
команды, который будет работать при любых обстоятельствах)Если вы работаете в Vista, 2003 или 2008, то ваш друг - менее гибкий, но все же полезный «forfiles». Что-то вроде:
Примечание: я не проверял ни одну из вышеуказанных команд, но теоретически они должны работать ...
источник