.bat批次檔的寫法

來源:互聯網
上載者:User


最近看了下cmd命令,發覺有些用起來挺方便的。於是決定把這些DOS命令整理出來,方便以後寫.bat批次檔。
1 先來看看.cmd,.bat是什麼:

    .bat是dos下的批次檔;
    .cmd是nt核心命令列環境的另一種批次檔;
    
    因此,二者是沒有本質區別。從更廣義的角度來看,unix的shell指令碼以及其它作業系統甚至應用程式中由外殼進行解釋執行的文本,都具有與批次檔十分相似的作用,而且同樣是由專用解譯器以行為單位解釋執行,這種文本形式更通用的稱謂是指令碼語言。
    
    所以從某個程度分析,batch,unixshell,awk,basic,perl等指令碼語言都是一樣的,只不過應用的範圍和解釋的平台各有不同而已。甚至有些應用程式仍然沿用批處理這一稱呼,而其內容和副檔名與dos的批處理卻又完全不同。

接下來就是vfhky整理的DOS命令了。第一部分比較常用,第二部分用的不多。有了這些基本的DOS命令,那麼寫簡單的.bat批次檔也就不難了(執行個體見下篇文章用.bat批次檔實現內外網多IP切換)。
2 第一部分:常用的DOS命令

    @,螢幕不顯示當前行的DOS命令
    
    echo off,螢幕不顯示bat檔案中所有的命令列
    
    dir d:*.* >filelist.txt,將d盤檔案清單寫入filelist.txt中
    
    cls,清除顯示器螢幕上的內容,使DOS提示符到螢幕左上方
    
    color,設定控制台前景和背景顏色。具體可以在cmd下用“color /?”查詢
    
    title,設定控制台視窗的標題。預設為“cmd”
    
    cd,英文change directory的縮寫(切換目錄)。例如cd d:sybase,進入sybase目錄
    
    md,英文make directory的縮寫(建立目錄。例如md c:123
    
    rd,英文remove directory的縮寫(刪除目錄)。例如rd c:123
    
    del,英文delete的縮寫(刪除)。用於刪除指定磁碟、目錄中的一個或一組檔案,例如del D:gvim.exe
    
    ren,英文rename的縮寫(重新命名)。用於對指定磁碟、目錄中的一個檔案或一組檔案更改名稱,[格式] ren [C:][path]filename1[.ext] filename2[.ext]
    
    time,顯示和設定DOS的系統時間。[格式] time [hh[:mm[:ss[.cc]]]
    
    date,顯示和設定DOS的系統日期。[格式] date [MM-DD-YY]
    
    %,表示參數(在運行批次檔時在檔案名稱後加的字串,例如%1、%2等);
    
    %var%,變數var;
    
    .,它與echo連用構成“echo.”,作用是換行;
    
    call,用於從一個批次程式調用另一個批次程式,而不終止父批次程式。例如:call d:b.bat;
    
    :goto label,跳轉到“:label”標籤處;
    
    rem,注釋命令,相當於“::”命令;
    
    pause,暫停命令。運行時,將顯示下面的文字:
    Press any key to continue. . .(或者:請按任意鍵繼續. . .)
    pause > nul的作用是同樣的,區別是不顯示“請按任意鍵繼續. . .”
    
    set,顯示、設定或刪除變數。有三種基本格式:set /a 運算式;SET [variable=[string]];set /p variable=[promptString](=號右邊的promptString是提示,不是變數的值)。
    
    type,文本輸出命令;

3 第二部分:相對用的少的DOS命令

    start,調用外部程式。例如start "" "d:gvim.exe"
    
    format,磁碟格式化命令。[格式] [C:][path]format drive:[/S]
    
    discopy,磁碟複製,即複製出一個和原來磁碟內容一模一樣的磁碟。[格式] diskcopy 來源磁碟機名 目的磁碟機名
    
    deltree, 刪除分類樹(將整個指定分類樹全部消滅,而不管它是否是唯讀、隱藏與否。)。[格式] [C:][path]DELTREE [C1:][path1] [[C2:][path2] […]]
    
    mem,英文memory的縮寫,用來查看電腦記憶體大小以及記憶體的使用方式。[格式] 直接鍵入mem命令
    
    chkdsk,英文check disk的縮寫,用來檢查你的磁碟的使用方式。[格式] chkdsk 磁碟名
    
    find,搜尋命令。用於在檔案中搜尋特定字串。例如:
    type a.txt | find "黃克業的部落格" && echo "麻辣的視界" 。
    該命令會在a.txt中搜尋“黃克業的部落格”,如果存在該內容,就會輸出“麻辣的視界”。
    
    >、>>
    二者都是輸出重新導向命令,即把前面命令的流文字重新導向寫入到一個檔案中。二者的唯一區別是,>命令在清除掉原有檔案中的內容後才把新的內容寫入原檔案,而>>命令會另起一行把新的內容追加到原檔案中。
    
    <、>&、<& :三個管道命令(不常用)
    <,輸入重新導向命令。即從檔案中讀入命令輸入,而不是從鍵盤中讀入。
    >&,將一個控制代碼的輸出寫入到另一個控制代碼的輸入中。
    <&,剛好和>&相反,從一個控制代碼讀取輸入並將其寫入到另一個控制代碼輸出中。
    
    &,組合串連命令。即它可以串連n個DOS命令,然後按順序執行,並且會忽略執行失敗的命令。
    
    && ,組合串連命令。它可以把它前後兩個命令組合起來當一個命令來用。但是和&命令不同的是,&&會檢測是否有執行出錯的命令,一旦發現出錯後將不繼續執行剩下的命令。
    
    |,作用是讓前一命令的輸出當做後一命令的輸入。
    
    || ,用法和&&幾乎一樣,但作用恰恰相反:當遇到一個執行正確的命令時,就退出此命令組合,不再繼續執行下面的命令。
    
    at,列出在指定的時間和日期在電腦上啟動並執行已計劃命令或計劃命令和程式,例如at 12:00 “d:abc.bat”。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.