Windows批處理命令用法


  • 閱讀下面文字需要一定的dos基礎概念,象:盤符、文件、目錄(文件夾)、子目錄、根目錄、當前目錄

    每個命令的完整說明請加 /? 參數參考微軟的幫助文檔可以看到,在 /? 幫助里,"命令擴展名"一詞會經常出現"命令擴展名"是指相對於win98的dos版本而言,每個命令新增的功能命令測試環境win2000proSP4win98的命令功能太少,就不作研究了。

    注:如果對某一命令還不是很熟悉,可以在命令行窗口下輸入:命令名/?的方式來獲得幫助。

    例如:對dir命令的應用不熟悉,可以在命令行窗口下輸入:dir /?

  •  

    echo 和 @回顯控制命令

                       #關閉單行回顯 

    echo off             #從下一行開始關閉回顯 

    @echo off            #從本行開始關閉回顯。一般批處理第一行都是這個 

    echo on              #從下一行開始打開回顯 

    echo                 #顯示當前是 echo off 狀態還是 echo on 狀態 

    echo.                #輸出一個"回車換行",一般就是指空白行 

    echo hello world     #輸出hello world

    "關閉回顯"是指運行批處理文件時,不顯示文件里的每條命令,只顯示運行結果批處理開始和結束時,系統都會自動打開
    用echo輸出空行至少有十種方法:

    echo= 
    echo, 
    echo; 

    echo+ 
    echo/ 
    echo[ 
    echo] 

    echo: 
    echo. 
    echo\ 

    這十種方法可以分為三組,每組的效率依次遞減。可悲的是,那些被奉為經典的教程給出的卻是效率最低那組中的echo. 

  •  

    dir                 #顯示當前目錄中的文件和子目錄 

    dir /a              #顯示當前目錄中的文件和子目錄,包括隱藏文件和系統文件 

    dir c: /a:d         #顯示 C 盤當前目錄中的目錄 

    dir c:/ /a:-d       #顯示 C 盤根目錄中的文件

    dir d:/mp3 /b/p     #逐屏顯示 d:/mp3 目錄里的文件,只顯示文件名,不顯示時間和大小 

    dir *.exe /s        #顯示當前目錄和子目錄里所有的.exe文件其中 * 是通配符,代表所有的文件名,還一個通配符 ? 代表一個   #任意字母或漢字如 c*.* 代表以 c 開頭的所有文件?.exe 代表所有文件名是一個字母的.exe文件如果指定的目錄或文件                     

    #不存在,將返回 errorlevel 為1; 

    # 每個文件夾的 dir 輸出都會有2個子目錄 . 和 ... 代表當前目錄.. 代表當前目錄的上級目錄 

    dir .               #顯示當前目錄中的文件和子目錄 

    dir ..              #顯示當前目錄的上級目錄中的文件和子目錄

    4、

    設置字體顏色和窗體大小:

    設置字體顏色:COLOR 02 (0代表背景色,2代表前景色)

    常用的顏色有以下值:0 黑色,1藍色,2 綠色,3 淺綠色,4紅色,5紫色,6黃色,7白色,8灰色,9淺藍,A淺綠,B淺藍色,C淺紅色,D淺紫色,E淺黃色,F亮白色)。

    設置窗體大小:MODE CON: COLS=寬度 LINES=高度

    5.創建文件夾:                          md    D:\mybat       //將在D盤下創建一個名為 mybat的文件夾

    6.刪除文件夾:                         rd      D:\mybat        //將刪除D盤中的mybat文件夾刪除 
    7.刪除文件夾中的文件:           del     D:\mybat\sheepmu.txt          //刪除文件sheepmu.txt   
                                                       del     D:\mybat\sheepmu.txt    /q            //安靜模式刪除,即刪除時不彈出是否刪除的提示框 
    8.復制文件 :                           xcopy   D:\mybat\sheepmu.txt    D:\mybat1          //若D中無mybat1這個文件夾則會創建文件夾再復制 
    9.向文件中寫入內容:             echo   sheepmu >> D:\mybat\sheepmu.txt         //如果這個文件不存在就創建文件並輸入。如果是文件夾不存在就不會成功!

    >>與>的區別是

    >是覆蓋掉原來 的;>>是直接輸入到原來的尾部

    10.顯示文件中內容:                  type    D:\mybat\sheepmu.txt

    11.更改文件名后綴:                   ren    D:\mybat\*.txt   *.html 

    注意事項

    a.批處理腳本編寫時最好的老師就是小黑老師啦,打開命令行窗口,輸入命令加上/?就會有詳細的說明,比如: netstat  /?

    b.pause 命令可以方便我們查看命令執行到了那一步,因為在bat腳本運行時若出現腳本錯誤窗口會一閃而過。

    c.批處理執行過程中可以按 Ctrl+C退出,這對於出現死循環時非常有用。

    d.cmd中的編碼方式為ANSI,若中文不是此編碼方式則會出現亂碼。所以我們的bat文件在編碼的時候應選擇“ANSI”

     

    特殊命令

     

    if goto choice for是批處理文件中比較高級的命令,如果這幾個你用得很熟練,你就是批處理文件的專家啦。

     

    一、if 是條件語句,用來判斷是否符合規定的條件,從而決定執行不同的命令。 有三種格式:

     

    1、if [not] "參數" == "字符串" 待執行的命令

     

    參數如果等於(not表示不等,下同)指定的字符串,則條件成立,運行命令,否則運行下一句。

     

    例:if "%1"=="a" format a:

     

    2、if [not] exist [路徑\]文件名 待執行的命令
    如果有指定的文件,則條件成立,運行命令,否則運行下一句。

     

    如: if exist c:\config.sys type c:\config.sys
    表示如果存在c:\config.sys文件,則顯示它的內容。

     

    3、if errorlevel <數字> 待執行的命令

     

    很多DOS程序在運行結束后會返回一個數字值用來表示程序運行的結果(或者狀態),通過if errorlevel命令可以判斷程序的返回值,根據不同的返回值來決定執行不同的命令(返回值必須按照從大到小的順序排列)。如果返回值等於指定的數字,則條件成立,運行命令,否則運行下一句。

     

    如if errorlevel 2 goto x2

     

    二、goto 批處理文件運行到這里將跳到goto所指定的標號(標號即label,標號用:后跟標准字符串來定義)處,goto語句一般與if配合使用,根據不同的條件來執行不同的命令組。

     

    如:

     

    goto end

     

    :end
    echo this is the end

     

    標號用“:字符串”來定義,標號所在行不被執行。 

    三、choice 使用此命令可以讓用戶輸入一個字符(用於選擇),從而根據用戶的選擇返回不同的errorlevel,然后於if errorlevel配合,根據用戶的選擇運行不同的命令。

     

    注意:choice命令為DOS或者Windows系統提供的外部命令,不同版本的choice命令語法會稍有不同,請用choice /?查看用法。

     

    choice的命令語法(該語法為Windows 2003中choice命令的語法,其它版本的choice的命令語法與此大同小異):

     

    CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]

     

    描述:
    該工具允許用戶從選擇列表選擇一個項目並返回所選項目的索引。

     

    參數列表:
    /C choices 指定要創建的選項列表。默認列表是 "YN"。

     

    /N 在提示符中隱藏選項列表。提示前面的消息得到顯示,
    選項依舊處於啟用狀態。

     

    /CS 允許選擇分大小寫的選項。在默認情況下,這個工具
    是不分大小寫的。

     

    /T timeout 做出默認選擇之前,暫停的秒數。可接受的值是從 0
    到 9999。如果指定了 0,就不會有暫停,默認選項
    會得到選擇。

     

    /D choice 在 nnnn 秒之后指定默認選項。字符必須在用 /C 選
    項指定的一組選擇中; 同時,必須用 /T 指定 nnnn。

     

    /M text 指定提示之前要顯示的消息。如果沒有指定,工具只
    顯示提示。

     

    /? 顯示幫助消息。

     

    注意:
    ERRORLEVEL 環境變量被設置為從選擇集選擇的鍵索引。列出的第一個選
    擇返回 1,第二個選擇返回 2,等等。如果用戶按的鍵不是有效的選擇,
    該工具會發出警告響聲。如果該工具檢測到錯誤狀態,它會返回 255 的
    ERRORLEVEL 值。如果用戶按 Ctrl+Break 或 Ctrl+C 鍵,該工具會返回 0
    的 ERRORLEVEL 值。在一個批程序中使用 ERRORLEVEL 參數時,將參數降
    序排列。

     

    示例:
    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]?

     

     

     


  • 免責聲明!

    本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



     
    粵ICP備18138465號   © 2018-2025 CODEPRJ.COM