Скопируйте файл (ы), содержащие строку, в папку oneliner - есть ли лучший способ с cmd.exe? - PullRequest
2 голосов
/ 26 мая 2009

Это

 for /f "tokens=*" %i in ('dir *sonic.exe /s /b') do copy /y "%i" D:\temp\utils\

Вопрос в том, есть ли лучший или более короткий способ сделать это?

p.s. Я знаю, что "токены = *" могут быть опущены, если путь к файлу не имеет пробелов ..

Обновление: я нашел более короткие способы поиска (не копирования) из моих старых шпаргалок:

::START - RUN - cmd.exe
 dir d:\libs\*SubSonic*.dll /s /b>>list.txt&list.txt
:: START - RUN - CMD.EXE 
where /R D:\libs\ *SubSonic*

Ответы [ 2 ]

1 голос
/ 26 мая 2009

Что-то вроде

dir -r -i *sonic.exe | select-string "tokens=" | % {cp $_ d:\temp\utils}

? [в PS]

1 голос
/ 26 мая 2009

Вы можете сделать это с помощью XCOPY.

Это будет работать, но также скопирует структуру каталогов, которую я не думаю, что вы хотите:

XCOPY /S *sonic.exe D:\temp\utils
...