好了,用批處理,就可以實現將這些麻煩的操作簡單化,首先我們編寫一個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 表示此命令后的字符為解釋行(注釋),不執行,只是給自己今后參考用的(相當于程序中的注釋)。
例: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,批處理運行結束。
四、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。
2、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 拷貝過程中寫盤錯誤