1. 程式人生 > >Bat 腳本(常用命令)

Bat 腳本(常用命令)

date 例如 dos ole pan con ring str if...else

Bat 批處理腳本 (常用)

Bat 批處理腳本

=== Content ===

1. Rem 和 ::

Rem 為註釋命令,能回顯。
::  為符號註釋,不能回顯。

%行內註釋內容%  ===== (不常用)(慎用)
註:
    回顯: 
        回顯,就是顯示正在執行的批處理命令及執行的結果等。
    不回顯:
        與上述回顯,方式相反

例如:
(在cmd上運行結果如下:)
rem hello 在下面會顯示空白的一行

:: hello 在下面不會顯示空白的一行

2. Echo 和 @

@ 字符 始終不回顯,不論你是echo on/off  狀態
    @ 放在命令前即關閉回顯

echo 
    (1)開/關 回顯 
        echo on/off
    (2)顯示當前ECHO設置狀態
        echo
    (3)輸出提示信息
        echo  Content
    (4)關閉DOS命令提示符
        echo off
    (5)輸出空行,即相當於輸入一個回車
        echo .
    (6)答復命令中的提問
        格式: ECHO 答復語|命令文件名
        例子:
            C:>ECHO Y|CHKDSK/F
            C:>ECHO Y|DEL A :*.*
    (7)建立新文件或增加文件內容
        格式:
            echo 文件內容 > 文件名 =======   在文件 中寫入『文件內容』
            echo 文件內容 >> 文件名 =======   在該文件末追加『文件內容』
        例子:
            C:>ECHO @ECHO OFF>AUTOEXEC.BAT建立自動批處理文件
            C:>ECHO C:\CPAV\BOOTSAFE>>AUTOEXEC.BAT向自動批處理文件中追加內容
            C:>TYPE AUTOEXEC.BAT顯示該自動批處理文件
    (8)向打印機輸出打印內容 或 打印控制碼
        格式: echo 打印機控制碼>; PRN
                echo 打印內容>;PRN
        例子:
            下面的例子是向M-1724打印機輸入打印控制碼。<Alt>156是按住Alt鍵在小鍵盤鍵入

156,類似情況依此類推:

            C:>ECHO +156+42+116>;PRN(輸入下劃線命令FS*t)
            C:>ECHO [[email protected]][email protected]>;PRN[/email](輸入初始化命令[email protected])
            C:>ECHO.>;PRN(換行)
        
    (9)使喇叭鳴響
        C:>ECHO ^G
        “^G”是在dos窗口中用Ctrl+G或Alt+007輸入,輸入多個^G可以產生多聲鳴響。
        使用方法是直接將其加入批處理文件 或 做成批處理文件調用
        這裏“^G”屬於特殊符號的使用,請看本文後面的章節
  1. Pause
    (1)暫停 press any key to continue
    Pause
    (2)自定義停止 提示語
    格式:
    echo 其他提示語 & pause > nul

  2. errorlevel
    程序運行後返回碼 echo %errorlevel%
    用處: 判斷命令是否執行成功
    默認值: 0(正確)
    出錯 errorlevel 會設置為 1

  3. title
    更換cmd 窗口名字
    用法:
    title 新窗口名字

  4. color
    更改cmd的 前\後景顏色屬性
    用法:
    color + attr

    attr 是 兩位的十六進制數,第一位為前景色,第二位則為後景色

    0 = 黑色 8 = 灰色
    1 = 藍色 9 = 淡藍色

    2 = 綠色 A = 淡綠色
    3 = 湖藍色 B = 淡淺綠色
    4 = 紅色 C = 淡紅色
    5 = 紫色 D = 淡紫色
    6 = 黃色 E = 淡黃色
    7 = 白色 F = 亮白色

    如果沒有attr 參數,則返回成cmd啟動時的屬性

  5. mode
    配置系統設備

例子:(更改cmd窗口大小 和 顏色)
mode con cols=80 lines=20 & color f2

  1. goto 和 :
    ":"
    用來創建標簽
    用法:
    ":" + 標簽名
    例子:
    if {%1}=={} goto noparms
    if "%2"=="" goto noparms
    goto:
    跳轉到某標簽
    用法:
    goto 標簽名

    例子:

    @echo off
    :start
    set /a var+=1
    echo %var%
    if %var% leq 3 goto start
    pause

    運行結果:
    1
    2
    3
    4

  2. start
    新開一個程序執行

    例:
    start explorer d: 調用圖形界面打開D盤

  3. if
    用法:

    (1)IF [not] ErrorLevel number command
    (2)IF [not] string1==string2 command
    (3)IF [not] Exist  filename command

    例子:

    echo off
    IF EXIST autoexec.bat echo 文件存在!
    IF not EXIST autoexec.bat echo 文件不存在!
  4. %
    用法:
    (1)%變量名%
    引用變量名的值
    例子:
    set file=“test.txt” rem 註意:變量名file後的=號 和 值不要有空格
    (2)%0~%9
    表示的是從外部參數引用的值
    %0 就是程序本身,或者路徑
    %1 第一個參數 ... %9 第9個參數

  5. < >& <& 重定向符

    @echo off
    echo 2005-05-01>temp.txt
    date <temp.txt
    del temp.txt

    這樣就可以不等待輸入直接修改當前日期

    >&,將一個句柄的輸出寫入到另一個句柄的輸入中。
    <&,剛好和>&相反,從一個句柄讀取輸入並將其寫入到另一個句柄輸出中。

    常用句柄:0、1、2,未定義句柄:3—9
    1>nul 表示禁止輸出正確的信息
    2>nul 表示禁止輸出錯誤信息。
    其中的1與2都是代表某個數據流輸入輸出的地址(NT CMD 稱之為句柄,MSDOS稱之為設備)。
    句柄0:標準輸入stdin,鍵盤輸入
    句柄1:標準輸出stdout,輸出到命令提示符窗口(console,代碼為CON)
    句柄2:標準錯誤stderr,輸出到命令提示符窗口(console,代碼為CON)
    其中的stdin可被<重定向,stdout可被>、>>重定向。
    我們已經知道讀取文本中的內容可以用for命令,
    但如果只需要讀取第一行用for命令就有點麻煩。簡單的辦法如下:

    @echo off
    set /p str=<%0
    echo %str%
    pause
  6. | 命令管道符
    格式:cmd1 | cmd2 | cmd3 |...
    說明:將第一條命令的結果作為第二條命令的參數來使用
    例如:

        dir C:\|find "txt"

上述命令解釋: 查找C:? 下 所有匹配的"txt"字符串

  1. ^ 轉義字符
    ^相當於C語言的"/" 轉義字符

  2. DOS 循環

    for 循環:
    格式:

        for %%var in (set) do Command  [command-parameters]
    
        command-parameters:
            有四個參數: /d  /l /r /f
  3. 系統變量
    用法:
    可以通過 %系統變量名% 查看當前系統變量的值

    例子:
    %HOMEPATH%
  4. 自定義變量
    (1)自定義變量
    set 變量名=值
    (2)手動輸入變量的值 set /p

    @echo off
    set /p var=請輸入變量的值
    echo %var%
    pause
    
    var變量名  =號右邊的是提示語,不是變量的值
  5. if...else... 條件語句
    在 if...else 語句中 還有判斷數字的符號:

    EQU - 等於
    NEQ - 不等於
    LSS - 小於
    LEQ - 小於或等於
    GTR - 大於或等於

    例子:

    IF EXIST filename (
        del filename
    ) ELSE (
        echo filename missing
    )
  6. random (隨機數%random%)的應用技巧

例子:

          @echo off
          setlocal enabledelayedexpansion
          for /L %%i in (1 1 5) do (
          set /a randomNum=!random!%%100
          echo 隨機數:!randomNum!
          )
          pause

Bat 腳本(常用命令)