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下(無須詢問,直接覆蓋)