好了,用批處理,就能夠實現將這些麻煩的操做簡單化,首先咱們編寫一個runwps.bat批處理文件,內容以下: @echo off c: cd\wps spdos py wbx wps cd\
之後,咱們每次進入wps,只須要運行runwps這個批處理文件便可。
經常使用命令
echo、@、call、pause、rem(小技巧:用::代替rem)是批處理文件最經常使用的幾個命令,咱們就從他們開始學起。 echo 表示顯示此命令後的字符 echo off 表示在此語句後全部運行的命令都不顯示命令行自己 @與echo off相象,但它是加在每一個命令行的最前面,表示運行時不顯示這一行的命令行(只能影響當前行)。 call 調用另外一個批處理文件(若是不用call而直接調用別的批處理文件,那麼執行完那個批處理文件後將沒法返回當前文件並執行當前文件的後續命令)。 pause 運行此句會暫停批處理的執行並在屏幕上顯示Press any key to continue...的提示,等待用戶按任意鍵後繼續 rem 表示此命令後的字符爲解釋行(註釋),不執行,只是給本身從此參考用的(至關於程序中的註釋)。
示例: CHOICE /? CHOICE /C YNC /M "確認請按 Y,否請按 N,或者取消請按 C。" CHOICE /T 10 /C ync /CS /D y CHOICE /C ab /M "選項 1 請選擇 a,選項 2 請選擇 b。" CHOICE /C ab /N /M "選項 1 請選擇 a,選項 2 請選擇 b。" 若是我運行命令:CHOICE /C YNC /M "確認請按 Y,否請按 N,或者取消請按 C。" 屏幕上會顯示: 確認請按 Y,否請按 N,或者取消請按 C。 [Y,N,C]? 例:test.bat的內容以下(注意,用if errorlevel判斷返回值時,要按返回值從高到低排列): @echo off choice /C dme /M "defrag,mem,end" if errorlevel 3 goto end if errorlevel 2 goto mem if errotlevel 1 goto defrag
:defrag c:\dos\defrag goto end
:mem mem goto end
:end echo good bye
此批處理運行後,將顯示"defrag,mem,end[D,M,E]?" ,用戶可選擇d m e ,而後if語句根據用戶的選擇做出判斷,d表示執行標號爲defrag的程序段,m表示執行標號爲mem的程序段,e表示執行標號爲end的程序段,每一個程序段最後都以goto end將程序跳到end標號處,而後程序將顯示good bye,批處理運行結束。
4、for 循環命令,只要條件符合,它將屢次執行同一命令。
語法: 對一組文件中的每個文件執行某個特定命令。
FOR %%variable IN (set) DO command [command-parameters]
接着再創建一個test2.bat文件,內容以下: @ECHO OFF IF EXIST \%1 TYPE \%1 IF NOT EXIST \%1 ECHO \%1 does not exist
執行: C:\>TEST2 AUTOEXEC.BAT 該命令運行結果同上。
說明: (1) IF EXIST 是用來測試文件是否存在的,格式爲 IF EXIST [路徑+文件名] 命令 (2) test2.bat文件中的%1是參數,DOS容許傳遞9個批參數信息給批處理文件,分別爲%1~%9(%0表示test2命令自己) ,這有點象編程中的實參和形參的關係,%1是形參,AUTOEXEC.BAT是實參。
3) 更進一步的,創建一個名爲TEST3.BAT的文件,內容以下: @echo off IF "%1" == "A" ECHO XIAO IF "%2" == "B" ECHO TIAN IF "%3" == "C" ECHO XIN
若是運行: C:\>TEST3 A B C 屏幕上會顯示: XIAO TIAN XIN
若是運行: C:\>TEST3 A B 屏幕上會顯示 XIAO TIAN
在這個命令執行過程當中,DOS會將一個空字符串指定給參數%3。
二、IF-ERRORLEVEL
創建TEST4.BAT,內容以下: @ECHO OFF XCOPY C:\AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷貝失敗 IF ERRORLEVEL 0 ECHO 成功拷貝文件
而後執行文件: C:\>TEST4
若是文件拷貝成功,屏幕就會顯示"成功拷貝文件",不然就會顯示"文件拷貝失敗"。
IF ERRORLEVEL 是用來測試它的上一個DOS命令的返回值的,注意只是上一個命令的返回值,並且返回值必須依照從大到小次序順序判斷。所以下面的批處理文件是錯誤的: @ECHO OFF XCOPY C:\AUTOEXEC.BAT D:\ IF ERRORLEVEL 0 ECHO 成功拷貝文件 IF ERRORLEVEL 1 ECHO 未找到拷貝文件 IF ERRORLEVEL 2 ECHO 用戶經過ctrl-c停止拷貝操做 IF ERRORLEVEL 3 ECHO 預置錯誤阻止文件拷貝操做 IF ERRORLEVEL 4 ECHO 拷貝過程當中寫盤錯誤