原 Windows批處理命令學習二

2022-07-27 18:18:10 字數 3153 閱讀 2806

繼續學習windows批處理命令。

批處理檔案引數:

有點程式設計基礎的人都知道函式有引數.批處理檔案也有引數。批處理檔案還可以像c語言的函式一樣使用引數(相當於dos命令的命令列引數),這需要用到乙個引數表示符"%"。

%[1-9]表示引數,引數是指在執行批處理檔案時在檔名後加的以空格(或者tab)分隔的字串。變數可以從%0到%9,%0表示批處理命令本身,其它引數字串用%1到%9順序表示。

動手實踐:

新建乙個批處理檔案a.bat,在裡面輸入命令:

@echo off

ping %1

ping %2

然後在命令控制台環境下輸入命令:c:\users\zhu>c:\a.bat www.163.com www.sina.com

看看有什麼效果,同時領悟下如何使用多個批處理檔案引數。

if命令

if語句一共有3種模式,如下:

if [not]string1==string2 command

if [not]exist filename command

if [not]errorlevel number command

not               指定只有條件為 false 的情況下, windows xp 才應該執行該命令。

errorlevel number 如果最後執行的程式返回乙個等於或大於指定數字的退出編碼,指定條件為 true。

string1==string2  如果指定的文字字串匹配,指定條件為 true。

exist filename    如果指定的檔名存在,指定條件為 true。

command           如果符合條件,指定要執行的命令。如果指定的條件為 false,命令後可跟乙個執行 else關鍵字後的命令的 else 命令。

我們先講解第一種:

if [not]string1==string2 command

自然語句意思:如果string1==string2,那麼執行command

下面再舉個能實際應用的if語句.

自然語句:如果輸入的引數為3,那麼顯示"a=3"

計算機語句:

@echo off

if"%1"=="3" echo "a=3"

或者寫成

@echo off

if %1==3echo "a=3"

注意:當要測試的時候,因在cmd底下,輸入1.bat 3.因為這裡用了是傳遞引數,具體看文章前部分"批處理檔案引數".

第二種:

if [not]exist filename command

這條命令用語檢測檔案是否存在.如果存在,執行command.如果不存在,則什麼也不顯示.

如:我們想檢查e盤根目錄下是否有乙個叫2.txt的檔案.如果存在,則顯示exist.如果不存在,則什麼也不顯示.

批處理命令如下:

@echo off

if existe:2.txt echo "exist 2.txt"

第三種:

比起前兩種,第三種比較難懂,我也看得半懂不懂的。查了一些資料,大致理解了,理解if[not] errorlevel number command的這句的關鍵是errorlevel這個到底指什麼?

原來每一行的dos命令執行完,都有乙個返回值(你可以把它比作是程式中的函式的返回值)。一般上一條命令的執行結果**只有兩結果,"成功"用0表示 "失敗"用1表示.。errorlevel就是用來儲存這個返回值的。就是假如errorlevel大於等於number(number為你給定的常數或批處理檔案引數),則執行command。

還是讓我們做實驗來理解吧。

動手實踐:

新建乙個批處理檔案a.bat,在裡面輸入命令:

@echo off

ping %1

ping %2

然後在命令控制台環境下輸入命令:c:\users\zhu>c:\a.bat www.163.com www.sina.com

看看有什麼效果,同時領悟下如何使用多個批處理檔案引數。

@echo off

net user

if errorlevel 1 echo net user 執行失敗了!

可能你要說:我想要提示執行命令的資訊,那你可以這樣寫:

@echo off

net user

if not errorlevel 1 echo net user 執行成功了!

可能你覺得這種寫法彆扭,同時你覺得應該是提示執行成功,反之提示失敗。呵呵,那麼我們就改成下面試試:

@echo off

net user

if%errorlevel% == 0 (

echo netuser 執行成功了!

)else (

echo netuser 執行失敗了!

)    

這是if和else的配套使用,其中if %errorlevel% == 0是假如errorlevel等於0。值得注意的是if和else的配套使用有著嚴格的使用格式,必須是:

if%errorlevel% == 0 (

command   // 執行命令

)else (

command   // 執行命令

)   

goto命令

說實話,看完這個命令我立即想起c語言的goto語句。事實上這個命令和c語言的goto語句也非常相像,也很簡單。動手實踐下你就知道了。

新建乙個批處理檔案a.bat,在裡面輸入命令:

@echo off

net user

if%errorlevel% == 0  goto successed

if%errorlevel% == 1  goto failed

:successed

echo netuser 執行成功!

gotoreturn

:failed

echo netuser 執行失敗!

:return

set命令

set命令我比較常用的是用來設定環境變數。它的用法很簡單,例子如下:

set hosts=c:/windows/system32/drivers/etc

注意:set命令只能設定當前cmd下才有效的環境變數。

1.網上一位大俠(姓名不詳)寫的《批處理檔案教程》

Windows批處理命令學習一

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!windows的批處理命令固然比不上unix的shell指令碼強大,但用好了仍能給我們的工作帶來很大作用。乙個朋友問我為什麼學習批處理命令,我以 程式設計師修煉之道 從小工到專家 一書的一句話答覆他 圖形介面的優點是所見即所得,圖形介面的缺點是所見...

Windows批處理命令

在工作當中經常遇到一些重複性 有著相似處理流程的事情需要處理,如果每次都是手動操作會非常繁重 乏味。這時可以考慮一下是否可以通過一些常用的批處理命令來處理,以便提高效率。批處理檔案是無格式的文字檔案,它包含一條或多條命令。它的擴充套件名為 bat 或 cmd。在命令提示下鍵入批處理檔案的名稱,或者雙...

批處理命令學習

dos下的可執行檔案有三種,分別是exe,com和bat。其中,exe和com檔案都是二進位制形式的,只有bat檔案是文字形式的,可以直接閱讀。因 此,bat檔案和以上二進位制可執行檔案相比,內容要簡單的多。這些檔案內包含著dos命令的集合,通常叫作批處理檔案。批處理檔案的組成雖然比較簡單,但 其用...