Это можно сделать с помощью старого доброго for
:
for /r C:\Folder %f in (*.png) do @copy "%f" C:\png
Ничего фантастического.
Я хотел бы использовать 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
:
for /r C:\Folder %f in (*.png) do @copy "%f" C:\png
Ничего фантастического.
Если у вас установлен Cygwin, это будет работа для поиска:
cp `find /cygdrive/c/folder/* -name '*png'` /cygdrive/c/png/
(хотя это будет иметь проблемы, если в любом из имен файлов есть пробелы - вы найдете какой-то вариант find
команды, который будет работать при любых обстоятельствах)
Если вы работаете с Vista, 2003 или 2008, то ваш друг - менее гибкий, но все же полезный «forfiles». Что-то вроде:
FORFILES /P c:\folder\ /M *.png /S /C "cmd /c copy @file c:\png\"
Примечание: я не проверял ни одну из вышеуказанных команд, но теоретически они должны работать ...