從dos過來的老鳥應該都知道批處理,這個功能在windows中仍然保留著。批處理說白了就是把一系列dos命令寫在乙個文字檔案裡,然後把這個檔案命名為***.bat(winxp以後的系統也可以命名為*.cmd),然後執行它就可以一次執行一系列命令和程式了,當然也包括windows下的程式。
昨天處理乙個問題時需要寫乙個批處理,批處理的前面執行了幾個dos命令,最後呼叫乙個windows程式。可問題是,呼叫的windows程式開啟後,cmd命令提示符視窗不會關閉,而是要等待這個windows程式關閉後它才會關閉。回想以前dos下的批處理,都是執行乙個程式,然後等待這個程式執行完畢後才會執行下乙個程式,因為dos是單任務作業系統嘛。但windows裡有沒有什麼方法讓批處理呼叫程式後不用等待程式結束而繼續執行後面的命令呢?網上搜了一下,也沒找出個結果。自己又研究了半天,終於解決了。解決的關鍵就是使用了乙個不太常用的命令:start
一開始我的批處理是這麼寫的(「/」和後面的內容是注釋):
@echo off /這是不讓cmd視窗中顯示執行的什麼命令***************x /這是一系列dos命令,用***x代替abc /最後要呼叫的windows程式檔名為abc.exeexit /退出cmd命令提示符視窗
問題就是這麼寫死活都無法在執行abc.exe之後自動關閉cmd視窗。後來我終於想起來windows的命令提符中有乙個start命令,心想使用它也許批處理就不會等待abc.exe執行完畢了。於是把批處理改為:
@echo off /這是不讓cmd視窗中顯示執行的什麼命令***************x /這是一系列dos命令,用***x代替start abc /最後要呼叫的windows程式檔名為abc.exeexit /退出cmd命令提示符視窗
果然,abc.exe執行之後,這個批處理就繼續執行後面的exit命令,從而自己退出了。原來,使用start呼叫的程式,批處理是不會等待程式執行結束的。遇到與我相同問題的朋友,不妨一試。
windows用批處理呼叫Oracle指令碼
spool時間的sql指令碼 spool time.txt select sysdate from dual 獲取系統時間 spool off exit 檔案命名為time.sql,儲存在d盤根目錄下。bat檔案 命名為test.bat sqlplus life life pwd o122g4 d ...
Windows批處理(一)
批處理是一系列可執行的命令集合揉成的乙個檔案,有點類似於日常開發中的乙個類。window平台下批處理副檔名一般為bat或者cmd 先介紹幾個簡單的命令 這是注釋命令,和開發中的 效果是一樣的,都是單行注釋。有效標號 冒號後面跟乙個變數字串,一般用於goto語句的跳轉。例如 functiona 和 a...
Windows批處理(二)
前一篇我們差不多就講了乙個hello world難度的指令碼,現在我們來新學三個平常一定會用到的概念。變數 條件分支判斷和跳轉 在bat指令碼中,變數是特別常用的。我們可以這麼申明乙個變數。set param hello set param hello world set parm a b 解釋 申...