2012-08-27 38 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」轉到退出「。 –

相關問題