Результаты 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-символы, разделители и кавычки.