我有一个在当前文件夹中生成报告的可执行文件,我希望在生成报告后将其移动到另一个文件夹:
start /WAIT /B "" "C:\Generator.exe"
for /R "C:\" %%f in (*.xlsx) do copy "%%f" "C:\ABC"
Del /Q "C:\*.xlsx"
问题是批处理文件中的第二行和第三行在第一行终止之前运行(它向我显示 .xlsx 文件不存在的消息,这是很正常的,因为 .exe 仍在运行)
我有一个在当前文件夹中生成报告的可执行文件,我希望在生成报告后将其移动到另一个文件夹:
start /WAIT /B "" "C:\Generator.exe"
for /R "C:\" %%f in (*.xlsx) do copy "%%f" "C:\ABC"
Del /Q "C:\*.xlsx"
问题是批处理文件中的第二行和第三行在第一行终止之前运行(它向我显示 .xlsx 文件不存在的消息,这是很正常的,因为 .exe 仍在运行)
尝试这个:
C:\Generator.exe for /R "C:\" %%f in (*.xlsx) 复制 "%%~f" "C:\ABC" Del /Q "C:\*.xlsx"
c:\generator.exe
:sleeping
tasklist /FI "IMAGENAME eq generator.exe"
if "%ERRORLEVEL%"=="0" goto sleeping
for /R "C:\" %%f in (*.xlsx) do copy "%%f" "C:\ABC"
Del /Q "C:\*.xlsx"
exit
有一个睡眠直到 generator.exe 停止,然后继续到代码中的下一行......错误级别检查进程是否正在运行(状态 = 0),所以直到错误级别变为 1 循环继续。
席德