2012-08-27 12 views
1
@echo off 
goto start 
:start 

if exist console.ccmf (
PAUSE 
ren console.ccmf console.bat 
ping 123.45.67.89 -n 1 -w 500 > nul 
START /wait console.bat 
ren console.bat console.ccmf 
goto exit 
) 

我真的很想找到一种方法来做到这一点,而不使用vb​​s脚本。 只是为了填补你......这是一个程序,重命名程序,然后启动它..目标是如此当所述文件关闭它重命名回到它是什么,并退出如何使一个批处理文件等待另一个批处理文件,然后继续与文件的其余部分

+0

你有什么问题?只要删除暂停。如果你想要,你可以用'choice/t 10/d y> nul'来代替ping。这将等待10秒钟。只需用您想要暂停的秒数替换“10”即可。而'nul'隐藏所有的输出,所以屏幕上没有噪音。 –

+0

当程序关闭它在程序中显示“Terminate Batch Job(Y/N)”时购买,并且如果您执行Y或N,它将关闭程序并且不会继续 –

回答

0

使用CALL函数。 Start实际上是用于启动窗口程序并打开另一个控制台,CALL保持在已打开的一个控制台窗口中。

@echo off 
goto start 

:start 
if exist console.ccmf (
    PAUSE 
    ren console.ccmf console.bat 
    ping 123.45.67.89 -n 1 -w 500 > nul 
    CALL console.bat 
    ren console.bat console.ccmf 
    goto exit 
) 
+0

等待只是意识到它不起作用它不会在程序退出后,不会继续进行重命名@James K –

+0

好吧如果我正常退出程序,但如果我按ALT键或按关闭键,它不会运行代码 –

+0

@ user1628565 ALT-F4或关闭按钮?这两种方法都不是用于结束批处理程序的正确方法,并且解释了为什么要获得“终止批处理作业?[是/否]”)。我假设你正在使用'PAUSE'命令。是?如果%errorlevel%== 1转为退出或set/p input =按ENTER继续或Q + [ENTER]退出,则使用“CHOICE/M”退出? [,Q]'如果“%input%”==“Q”转到退出“。 –

相关问题