Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在windows中的多个文件夹中执行exe文件_Windows_Batch File_Dos - Fatal编程技术网

如何在windows中的多个文件夹中执行exe文件

如何在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/?

我有一个文件ad.exe,它对同一文件夹中的文本文件进行操作。 它位于D:/…/bin中。执行时,它从文件8000.txt读取数据并创建98.txt。我有很多文件夹,每个文件夹都包含8000.txt。我希望exe文件作用于每个文件夹中的每个8000.txt文件。所有这些8000.txt文件都位于我桌面上单个文件夹中的多个文件夹中。 我希望避免将同一个文件复制到每个文件夹中,并逐个执行它们。我想同时做所有的工作。 我该怎么办

我读过
但无法理解。

简单的答案是一个
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"
)

你需要添加更多的细节。如何调用它?你必须在命令行上传递文本文件列表吗?我编辑了这个问题的答案。也许现在有点清楚了。。