Результаты Windows XCOPY из команды FIND
Windows 7 CMD
Я могу получить список файлов с помощью следующей команды dir /b | find "TENDER_NUM 2", Я пытаюсь скопировать все файлы, которые были возвращены при поиске, в другую папку.
Я пробовал:for /r %x in (dir /b | findstr "TENDER_NUM 2") do copy "%x" dir_to_copy\
Который не работал.
РЕДАКТИРОВАТЬ 1: сообщение об ошибке говорит unexpected |Я предполагаю, что исходит от dir/b | Findstr
РЕДАКТИРОВАТЬ 2: Да, dir_to_copy\ существует
1 ответ
Сообщение об ошибке говорит неожиданное |
for /r %x in (dir /b | findstr "TENDER_NUM 2") do copy "%x" dir_to_copy\
В приведенной выше команде есть несколько ошибок.
Вам нужно сбежать
|использование специальных символов^:^|Вы должны приложить
dir /b | findstr "TENDER_NUM 2"с одинарными кавычками':'dir /b ^| findstr "TENDER_NUM 2"'Вам нужно использовать
for /fвместоfor /r:for / f - Циклическая команда против результатов другой команды.
for / r - перебирать файлы (подпапки Recurse).
Используйте следующую команду из cmd ракушка:
for /f %x in ('dir /b ^| findstr "TENDER_NUM 2"') do copy "%x" dir_to_copy\
В пакетном файле (заменить % с %%):
for /f %%x in ('dir /b ^| findstr "TENDER_NUM 2"') do copy "%%x" dir_to_copy\
Дальнейшее чтение
- Индекс AZ командной строки Windows CMD - Отличный справочник по всем вопросам, связанным с командной строкой Windows.
- for / f - Циклическая команда против результатов другой команды.
- for / r - перебирать файлы (подпапки Recurse).
- синтаксис - Escape-символы, разделители и кавычки.