bat(DOS)常用命令詳解


1. echo命令:用來打印信息,也可以用來修改文件中的內容

  • cmd窗口中輸入 echo /? 可以獲取echo命令幫助,其中 bat命令后加上 /?表示獲取該命令幫助信息
  • echo命令后直接加上要輸出的信息,如果輸出信息中有特殊符號(bat命令中用到的,例如>),輸出信息就要加上雙引號。此外echo還可以打印變量的值,如果想連續打印很多行,可使用&符號,例如下圖操作
  • echo除了將信息打印在屏幕上,echo也可以將信息直接輸出到文件中,格式為【echo 信息 > 文件】,如果文件不存在,就會創建一個新的文件,然后將內容寫入,如果文件存在,會覆蓋掉文件中的原有內容;如果不想覆蓋原來內容,可以使用【echo 信息 >> 文件】,表示將新的信息追加到文檔后。
  • echo on(腳本默認),bat腳本運行后,每條命令的結果都會打印在屏幕上

    echo off 會關閉回顯,也就是腳本運行時不在打印每個命令,只能打印一些日志(如echo的輸出結果)和一些錯誤,如下圖操作

 

2.del 刪除命令 (只能刪除文件,無法刪除目錄), rd 只能刪除目錄,不能刪除文件

 

  • del test   //刪除當前目錄下的test文件夾中的所有非只讀文件(子目錄下的文件不刪除),刪除前會詢問
  • del /f test   //刪除當前目錄下的test文件夾中的所有文件(含只讀文件;子目錄下的文件不刪除),刪除前會確認
  • del /f /s /q test e:\mybat\*.doc   //刪除當前目錄下的test文件夾中所有文件及e:\mybat中所有doc文件(含只讀文件;以及子目錄下的文件;刪除前不確認)
  • del /ar *.*   //刪除當前目錄下所有只讀文件

    del /a-s *.*   //刪除當前目錄下除系統文件外所有的文件

  • 補充參數:/ar 、/ah、/as、/aa  分別表示刪除只讀、隱藏、系統、存檔文件

                     /a-r、/a-h、/a-s、/a-a  分別表示刪除只讀、隱藏、系統、存檔以外的文件

  • rd test //刪除當前目錄下的test空文件夾(如果test不為空文件夾,則不會被刪除)
  • rd /s d:\test //刪除d盤目錄下的test文件夾(不論里面是否有文件或文件夾,一起刪除),刪除前確認
  • rd /s /q d:\test //靜默刪除d盤目錄下test文件夾,刪除前不用確認

3.cd 顯示當前目錄命令(在cmd中,.、..和\表示相對路徑,.是當前目錄,..是上一層目錄,而\表示根目錄)

  • cd .. //退出到上一個目錄
  • cd /d D:      //進入D盤上次所在目錄(比如上次目錄是D:\test\aa,則執行完這個目錄后就會跳到這個目錄下)
  • cd  d:\       //進入D盤根目錄(如果當前不在d盤下,則不執行,需要加 /d)
  • cd /d d:\       //進入D盤根目錄(/d強轉符號)
  • cd /d D:\test       //進入D盤下的test目錄

4.REM 和 :: 注釋標識命令(必須在段首位置)

  • rem 注釋命令,該命令后的內容不被執行,但能回顯
  • :: 注釋命令===@rem,與rem不同的是,該命令后的內容不會回顯

5.md:新建文件夾

  • md D:\test  //在D盤下創建test文件夾
  • md test1 test2 //在當前目錄下創建test1和test2文件夾

6.dir:顯示目錄中的內容

  • dir  //顯示當前目錄下的文件夾和文件名以及修改時間
  • dir test //顯示test目錄下的文件
  • dir /b //只顯示當前目錄的文件夾名和文件名
  • dir /p //分頁顯示當前目錄中的文件內容
  • dir /ad //顯示當前目錄中的文件夾
  • dir /a-d //顯示當前目錄中的文件
  • dir c:\windows\bb //顯示該目錄下的內容
  • dir test.txt //顯示當前目錄找那個test.txt的信息
  • dir /s //遞歸顯示當前目錄中的內容
  • dir test* //顯示當前目錄下以test開頭的文件和文件夾的信息
  • dir /ah /os //只顯示當前目錄中隱藏的文件和目錄,並按照文件大小從小到大排序

7.cls 清屏命令,清楚屏幕中的信息,tree:顯示目錄結構,tree d:\test //顯示d盤test的目錄結構

8.Bat腳本中%cd%和%~dp0的區別

  • 使用范圍:%cd%:批處理腳本(bat腳本)、命令行窗口

        %~dp0:批處理腳本(bat腳本)

  • bat腳本執行時,兩者代表的值是否會變化:

        %cd%:會。因為代表的是當前目錄

        %~dp0:不會。因為代表的是腳本文件在磁盤的位置

  • 例如 

        set assets_path=..\assets\icon\jiangtai
        del /q %assets_path%
        %~dp0"..\sofewares\svn1.8\svn.exe" up %assets_path%

        該代碼將會用svn更新jiangtai目錄下的資源

9. ren:文件或目錄重命名

  • ren test.txt tamp.bat   //將當前目錄下的test.txt文件重命名為sample.bat
  • ren c:\test test2     //將c盤下的test文件重命名為test02

10. copy: 拷貝文件

  • copy test.txt e:\mybat   //將當前目錄下的test.txt拷貝到e:\mybat目錄下(若mybat中存在相同文件,則會詢問是否覆蓋)
  • copy sample e:\mybat   //將當前目錄下的sample文件夾中的文件拷貝到e:\mybat下(存在相同目錄,會詢問是否覆蓋)
  • copy test.txt e:\mybat\test1.txt  //將當前目錄下的test.txt拷貝到e:\mybat下,並重命名為test1.txt(若存在test1.txt,則會詢問是夠覆蓋)
  • copy /y test.txt e:\mybat   //將當前目錄下的test.txt拷貝到e:\mybat下(無須詢問,直接覆蓋)

 


免責聲明!

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



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