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

代码@echoofffor/f"delims="%%iin('dirc:\txt\*.xls/b')do("C:\FlashPaper\FlashPaper2.2\Fla... 代码
@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
展开
 我来答
朴素且可爱灬小喵1
2012-03-30 · TA获得超过2902个赞
知道大有可为答主
回答量:1713
采纳率:89%
帮助的人:518万
展开全部
用for这种方式是停不住的,不信您在for里加个pause,看看cmd等您吗?
您的思路是对的,但是只能自己涉及变量,写标签,用goto循环。
之间的等待可以用tasklist|find "FlashPrinter.exe" 和if errorlevel 1判断,您不知道怎么写的两个括号里分别goto两个地方(别忘了后一个标签前面价格跳过的goto,否则还执行一遍)或call另外两个批处理就行了。
希望可以帮到您!
sudoku52
2012-03-30 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4884万
展开全部
你估算一下程序大约用多长时间,加个延时
@echo off
set n=10
for /f "delims=" %%i in ('dir c:\txt\*.xls /b') do (
"C:\FlashPaper\FlashPaper2.2\FlashPrinter.exe" "%%~$PATH:i" -o "c:\swf\%%~ni.swf"
ping -n %n% 127.1>nul
echo "%%~ni 转换已完成")
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式