Windows 7 命令
我可以通过以下命令检索文件列表dir /b | find "TENDER_NUM 2"
。我正在尝试将 find 返回的所有文件复制到另一个文件夹中。
我试过了:
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
:对于/f-循环命令以执行另一个命令的结果。
对于/r- 循环遍历文件(递归子文件夹)。
从 shell 使用以下命令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\
进一步阅读
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 对于/f- 循环命令以执行另一个命令的结果。
- 对于/r- 循环遍历文件(递归子文件夹)。
- 句法- 转义字符、分隔符和引号。