Windows批處理 呼叫程式後 不等待子程式 父程式繼續執行命令
從DOS過來的老鳥應該都知道批處理,這個功能在WINDOWS中仍然保留著。批處理說白了就是把一系列DOS命令寫在一個文字檔案裡,然後把這個檔案命名為XXX.bat(WINXP以後的系統也可以命名為*.cmd),然後執行它就可以一次執行一系列命令和程式了,當然也包括WINDOWS下的程式。
昨天處理一個問題時需要寫一個批處理,批處理的前面執行了幾個DOS命令,最後呼叫一個WINDOWS程式。可問題是,呼叫的WINDOWS程式開啟後,CMD命令提示符視窗不會關閉,而是要等待這個WINDOWS程式關閉後它才會關閉。回想以前DOS下的批處理,都是執行一個程式,然後等待這個程式執行完畢後才會執行下一個程式,因為DOS是單任務作業系統嘛。但WINDOWS裡有沒有什麼方法讓批處理呼叫程式後不用等待程式結束而繼續執行後面的命令呢?網上搜了一下,也沒找出個結果。自己又研究了半天,終於解決了。解決的關鍵就是使用了一個不太常用的命令:start
一開始我的批處理是這麼寫的(“/”和後面的內容是註釋):
@echo off /這是不讓CMD視窗中顯示執行的什麼命令
DOS命令 /這是一系列DOS命令,用DOS命令代替
abc /最後要呼叫的WINDOWS程式檔名為abc.exe
echo "ok" /輸出“OK”
ping /n 5 127.1 >nul /延時 5S exit
問題就是這麼寫死活都無法在執行abc.exe之後自動關閉CMD視窗。後來我終於想起來WINDOWS的命令提符中有一個start命令,心想使用它也許批處理就不會等待abc.exe執行完畢了。於是把批處理改為:
@echo off /這是不讓CMD視窗中顯示執行的什麼命令 DOS命令 /這是一系列DOS命令,用DOS命令代替 start abc /最後要呼叫的WINDOWS程式檔名為abc.exe echo "ok" /輸出“OK” ping /n 5 127.1 >nul /延時 5S exit
果然,abc.exe執行之後,這個批處理就繼續執行後面的exit命令,從而自己退出了。原來,使用start呼叫的程式,批處理是不會等待程式執行結束的。遇到與我相同問題的朋友,不妨一試。
參考:http://www.cnblogs.com/yukaizhao/archive/2010/07/03/1770659.html
參考:http://www.cnblogs.com/yukaizhao/archive/2010/07/03/1770659.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14184018/viewspace-714703/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C#執行外部程式之執行DOS命令和批處理C#
- 子程式等待父程式退出及fork使用
- Jquery ajax載入等待執行結束再繼續執行下面程式碼操作jQuery
- 內層程式中發生異常後,不會繼續執行外層程式的語句
- Windows批處理命令Windows
- 關於用飛信框架執行net程式-用批處理執行框架
- banq請問如何用java程式呼叫windows的執行命令JavaWindows
- fork、父程式和子程式
- Thread 中的 join() 方法的作用是呼叫執行緒等待該執行緒執行完後,再繼續執行thread執行緒
- Windows命令列報錯:'findstr' 不是內部或外部命令,也不是可執行的程式或批處理檔案Windows命令列
- Windows批處理命令專題Windows
- Java多種方法實現等待所有子執行緒完成再繼續執行Java執行緒
- linux 子程式可以繼承父程式正在監聽的埠嗎? 如何子程式關閉了繼承的埠,父程式還能使用這個埠嗎?Linux繼承
- 批處理檔案 bat 後臺執行BAT
- PHP多程式學習(三)__程式碼案例來了解父程式與子程式的執行順序PHP
- 後臺程式在處理繁重的任務時,呼叫外部程式非同步執行的簡單實現非同步
- java中異常丟擲後程式碼還會繼續執行嗎Java
- 如何在批處理模式下執行 top 命令模式
- windows批處理之六-echo輸出不換行Windows
- ‘javac‘ 不是內部或外部命令,也不是可執行的程式 或批處理檔案。Java
- BAT批處理判斷服務是否正常執行(批處理命令綜合應用)BAT
- C#使用程式呼叫bash,不斷往bash內插入命令並執行C#
- 繼續瞭解Oracle部分後臺程式Oracle
- 用nohup命令程式在後臺執行
- 'telnet' 不是內部或外部命令,也不是可執行的程式 或批處理檔案。
- aix的協處理(後臺執行程式)AI行程
- 雲伺服器客戶端斷開後,如何保持程式繼續執行呢?伺服器客戶端
- 批處理命令
- 批處理的聊天程式報錯求救!!!!!
- NODE_ENV 不是內部或外部命令,也不是可執行的程式,或者批處理檔案
- windows核心程式設計--windows程式的執行Windows程式設計
- 【轉】批處理命令請求以管理員身份執行
- exit() 時或之後還能繼續執行php程式碼的幾種辦法PHP
- 程式設計師需要懂點的批處理命令之bat(1.0)程式設計師BAT
- (已解決)'ng' 不是內部或外部命令,也不是可執行的程式或批處理檔案
- 資料處理等待效果例項程式碼
- 批處理命令大全
- DOS 批處理命令