如何在windows中的多个文件夹中执行exe文件
我有一个文件ad.exe,它对同一文件夹中的文本文件进行操作。 它位于D:/…/bin中。执行时,它从文件8000.txt读取数据并创建98.txt。我有很多文件夹,每个文件夹都包含8000.txt。我希望exe文件作用于每个文件夹中的每个8000.txt文件。所有这些8000.txt文件都位于我桌面上单个文件夹中的多个文件夹中。 我希望避免将同一个文件复制到每个文件夹中,并逐个执行它们。我想同时做所有的工作。 我该怎么办 我读过如何在windows中的多个文件夹中执行exe文件,windows,batch-file,dos,Windows,Batch File,Dos,我有一个文件ad.exe,它对同一文件夹中的文本文件进行操作。 它位于D:/…/bin中。执行时,它从文件8000.txt读取数据并创建98.txt。我有很多文件夹,每个文件夹都包含8000.txt。我希望exe文件作用于每个文件夹中的每个8000.txt文件。所有这些8000.txt文件都位于我桌面上单个文件夹中的多个文件夹中。 我希望避免将同一个文件复制到每个文件夹中,并逐个执行它们。我想同时做所有的工作。 我该怎么办 我读过 但无法理解。简单的答案是一个FOR循环,DOS通过使用FOR/?
但无法理解。简单的答案是一个
FOR循环
,DOS通过使用FOR/?
和阅读可以访问该循环的联机帮助。打开两个CMD
窗口,一个用于帮助,另一个用于尝试命令。提示:使用ECHO
仅在DOS中显示文本,而不是作为测试运行命令
这样做的快捷方法是创建一个文本文件列表。使用dir/s/b*.txt>>c:\output.log
这将创建一个包含所有子文件夹中每个文本文件列表的文件
接下来是循环的FOR
对于(output.log)中的/f%a,执行回显%a
FOR将打开output.log
并读取每一行。每一行都由%a
表示,该值简单地写入控制台。如果命令是do dir%a
则该命令将在output.log
中的每个文件上运行dir
只需调整以满足您的需要,如果有任何错误,请发回
FOR /F "usebackq" %f IN (`DIR /S /B 8000.txt`) DO (myprog.exe "%f")
如果将其放入.bat或.cmd脚本中,请确保文件名变量的百分比字符加倍
FOR /F "usebackq" %%f IN (`DIR /S /B 8000.txt`) DO (
myprog.exe "%%f"
)
你需要添加更多的细节。如何调用它?你必须在命令行上传递文本文件列表吗?我编辑了这个问题的答案。也许现在有点清楚了。。