用于移动列表中指定的文件的批处理命令

时间:2014-09-01 12:16:21

标签: shell batch-file

从Windows控制台我需要移动一组文件。选择要移动的文件的标准基于以下内容:

findstr /M "<content-criteria>" *.$$$ > files_to_move.txt

如何启动move命令来处理此列表?

我完全错误的尝试:

move %1 dest_folder < files_to_move.txt

2 个答案:

答案 0 :(得分:2)

您需要对列表中的每个文件执行移动操作

for /f "delims=" %%a in (files_to_move.txt) do move "%%a" dest_folder

for /f命令将读取输入文件。对于每一行,将使用存储在可替换参数do中的行的内容执行%%a子句之后的代码。 "delims="子句向for命令指示将不使用分隔符来分隔标记中的行。

答案 1 :(得分:1)

您需要使用for来迭代文本文件。另一种方法是使用循环迭代另一个命令的输出(在本例中为findstr),而不是将其输出到临时文本文件。

for /f "delims=" %%a in ('findstr /M "<content-criteria>" *.$$$') do move "%%a" TargetFolder