批处理-遍历文本文件

时间:2020-09-14 19:11:42

标签: windows loops batch-file

我正在尝试使用以下命令在多个目录中查找所有30天以上的文件:

[Directory] && forfiles /d -30 /c "cmd /c echo @path"

输出为.txt文件。

文本文件包含目录的路径: C:\ Directory1 C:\ Directory2 C:\ Directory3等

我正在尝试使用文本文件遍历几个目录,但是我需要提供2个命令: cd(更改为我需要信息的文件所在的目录)和获取信息的实际命令)

如果我创建一个手动输入目录名称的批处理文件,我将具有以下内容:

cd "C:Directory1" && forfiles /d -30 /c "cmd /c echo @path"
cd "C:Directory2" && forfiles /d -30 /c "cmd /c echo @path"
cd "C:Directory3" && forfiles /d -30 /c "cmd /c echo @path"

如何在循环开始时输入“ cd”命令,然后输入txt文件中的目录以及命令(forfiles /d -30 /c "cmd /c echo @path")的其余部分

到目前为止,我有:

for /f "usebackq tokens=*" %%A in ("C:\list.txt") do forfiles /d -30 /c "cmd /c echo @path %%A

谢谢!

1 个答案:

答案 0 :(得分:1)

带有FOR选项的/F命令用于读取文件,并将文件的每次迭代分配给变量%%A。因此,请将该变量与/P命令的FORFILES选项一起使用。

for /f "usebackq tokens=*" %%A in ("C:\list.txt") do forfiles /P "%%~A" /d -30 /c "cmd /c echo @path"