我正在尝试执行一个 bat 文件中的命令,当我在命令中指定目标文件时,该文件运行正常(例如:“c:\my work\month.stats.txt”)。
命令行结构就是这样的
xxxxxxx.exe [command_parameter] c:\my work\month.stats.txt
我想让它对某个文件夹(例如:“c:\my work”文件夹)中存在的每个“.txt”文件自动运行。
有没有办法做到这一点?
谢谢
答案1
要将可执行命令应用于所有文本文件,请使用For /R
循环。在该文件夹中打开命令提示符并输入:
For /R %Y in (*.txt) do (abc.exe %Y)
或者,如果您想在另一个文件夹中应用该命令,请在该命令中添加文件夹路径:
For /R "C:\path\folder" %Y in (*.txt) do (abc.exe %Y)
以下是该命令的详细信息:
- 句法:
FOR /R [[drive:]path] %%parameter IN (set) DO command
关键驱动:
- 路径:文件所在的文件夹树。
- set :一组或多份文件。必须使用通配符。如果 (set) 是句点字符 (.),则 FOR 将循环遍历每个文件夹。
- command:要执行的命令,包括任何命令行参数。
- %%parameter :可替换参数:在批处理文件中使用 %%G(在命令行上为 %G)
来源:ss64:对于 /R