批处理 for 执行完一条命令以后再执行下一条

代码
@echo off   
for /f "delims=" %%i in ('dir c:\txt\*.xls /b') do (
"C:\FlashPaper\FlashPaper2.2\FlashPrinter.exe" "%%~$PATH:i" -o "c:\swf\%%~ni.swf"
echo "%%~ni 转换已完成")
pause
for循环取文件名作为参数 调用FlashPrinter.exe
现在的问题是FlashPrinter.exe还没有运行完成 for循环就开始执行下一条了
高手能不能帮我改改 做个判断 如果FlashPrinter.exe执行完 再继续执行下一天FlashPrinter.exe
可能要做进程判断之类的 自己写了一个进程判断的代码 大体思路是
@echo off   
for /f "delims=" %%i in ('dir c:\txt\*.xls /b') do (
"C:\FlashPaper\FlashPaper2.2\FlashPrinter.exe" "%%~$PATH:i" -o "c:\swf\%%~ni.swf"
tasklist /nh|find /i "FlashPrinter.exe"
if ERRORLEVEL 1 (执行下一条for循环不知道这里怎么写) else (继续等待不知道该怎么写)
echo "%%~ni 转换已完成")
pause

执行完一条命令以后再执行下一条
方法一 START /W
方法二 CALL
建议使用 方法一
START /W “” "C:\FlashPaper\FlashPaper2.2\FlashPrinter.exe" "%%~$PATH:i" -o "c:\swf\%%~ni.swf"
前提是 入 nameyu8023 所说 程序执行完成要 能自己退出 或者 自己手动退出
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-26
干嘛判断进程啊。。如果你FLASHPRINTER.EXE执行完是自动退出的,直接用CALL就可以了啊。