我有一个批处理文件,它输出一个命令列表,这些命令本身可以在命令行执行。
以下是我正在做的简化版本:
set %foldername%="c:\my_folder"
set %exename%="c:\my_utility.exe"
cd %foldername%
FOR /F "tokens=*" %%G IN ('dir *.xml /s /b /a:-d') DO @echo %exename% /x="%%G"
这基本上输出一个批处理文件。它看起来像这样:
c:\my_utility.exe /x="c:\my_folder\file1.xml"
c:\my_utility.exe /x="c:\my_folder\file2.xml"
c:\my_utility.exe /x="c:\my_folder\file3.xml"
c:\my_utility.exe /x="c:\my_folder\file4.xml"
我想执行这些命令。目前,我必须将输出重定向到批处理文件,然后运行它。有没有办法在dos提示符中说“执行我刚构建的命令”?
答案 0 :(得分:1)
只需删除echo
循环中的FOR
:
FOR /F "tokens=*" %%G IN ('dir *.xml /s /b /a:-d') DO %exename% /x="%%G"