批處理常用命令及使用批處理編譯VS工程

2021-10-18 13:20:08 字數 2985 閱讀 6789

批處理檔案包含一系列dos命令,通常用於自動執行重複性的任務,例如週期性的自動化測試工作,就可以使用批處理檔案來執行定期的測試任務。這裡不是批處理的完整教程,只是對批處理檔案常用的命令做乙個總結,方便以後寫批處理的時候可以回來複習,給出的應用例子,是之前學習git伺服器定期執行自動測試任務時編寫的乙個批處理檔案,它自動編譯vs工程。

以下列舉一些非常常用的命令,並不是所有命令,這些命令將在後面的例子當中使用到。

1、echo命令

開啟回顯 或關閉回顯。

語法:echo [message]

如果沒有帶引數,則顯示當前echo命令的回顯設定:開啟狀態或關閉狀態

echo off :關閉命令提示符回顯

echo on:開啟命令提示符回顯

通常和@一起使用,@ :關閉本行命令回顯

2、rem命令

注釋命令,它類似於在c語言中的//,它並不會被執行,只是起乙個注釋的作用,只有在編輯批處理時才會被看到。

語法:rem [注釋內容]

rem 初始化源路徑

set sourcepath = ..

::也有rem命令功能,只是它總是不回顯注釋的內容,而當回顯開啟時rem會回顯注釋。

3、pause命令

暫停命令。

可以配合echo命令輸出提示資訊

echo 請按下任意鍵退出

pause >nul

4、call命令

call命令可以在批處理執行過程中呼叫另乙個批處理,當另乙個批處理執行完後,再繼續執行原來的批處理。

語法:call [drive:][path]filename [batch-parameters]

5、cd命令

切換目錄。

6、errorlever

每個命令執行結束,可以用這個命令列格式檢視返回碼。預設值為0,一般命令執行出錯會設 errorlevel 為1。

7、set命令

設定變數。類似 c語言的變數宣告。引用變數可在變數名前後加 % ,如 %變數名%

無引數的set命令:顯示目前所有可用的變數,包括系統變數和自定義的變數

系統變數可以直接引用,如:顯示系統盤碟符 echo %systemdrive%

顯示所有以p開頭的變數,要是乙個也沒有就設errorlevel=1,如:

set p

設定變數p,並賦值為 = 後面的字串,如:

set path=.. \config\

8、if命令

判斷命令,根據判斷條件執行後續命令,大致可以分為以下三個種類:

1)if 「引數」 == 「字串」  待執行的命令

2)if exist 檔名  待執行的命令

3)if errorlevel / if not errorlevel 數字,待執行的命令。

9、xcopy命令

目錄複製命令。複製指定的目錄和目錄下所有檔案連同目錄結構。

語法:xcopy source [destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:mm-dd-yyyy]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [/n] [/o] [/x] [/exclude:filename1[+[filename2]][+[filename3]] [/z]

source:必需引數。指定要複製的檔案的位置和名稱。該引數必須包含驅動器或路徑。

destination:指定要複製的檔案的目標。該引數可以包含驅動器號和冒號、目錄名、檔名或者它們的組合。

/s:複製非空的目錄和子目錄。如果省略「/s」,只拷貝檔案,不拷貝子目錄。

/y:禁止提示確認要覆蓋已存在的目標檔案。

10、mkdir命令

mkdir命令用來建立指定的名稱的目錄,要求建立使用者在當前目錄具有許可權,並且指定的目錄名不能是當前目錄中已有的目錄。

11、goto命令

跳轉命令。程式指標跳轉到指定的標籤,從標籤後的第一條命令開始繼續執行批處理程式。標籤以單個冒號開始,緊接著乙個非冒號的標籤字串。使用方法見第三節的例子。

::更新標頭檔案和庫檔案

set srcheadpath=...\include\

set srclibpath=..\lib

set desheadpath=.\include\

set deslibpath=.\lib

xcopy %srcheadpath% %desheadpath% /s /y

xcopy %srclibpath%abc.dll %deslibpath% /y

@if "%vcdir%"=="" @goto _set_vcdir

@goto _set_vcdir_end

:_set_vcdir

@rem set vcdir

@set vcdir=%vs120comntools%..\..\vc

:_set_vcdir_den

@if "%vsinstalldir%"==""(

call "%vcdir%"\vcvarsall.bat

) else (

@echo current is vc env already

)@set vc_build_opt=release

msbuild helloword.sh /t:rebuild /p:configuration=%vc_build_opt%

@if %errorlevel% neq 0 exit /b %errorlevel%

學習要一步乙個腳印,原來花了很多精力學習的內容,應該把它記錄下來,免得後面需要重新用到,又得花費大量時間查詢資料。這篇博文的是對常用批處理命令的總結,並不全面,如果後續做別的模組開發,需要另外一些命令,這篇文章還會擴充套件新的命令。

這篇博文的另乙個目的是,記錄如何使用批處理來編譯vs工程,這是乙個非常有用的技術,應該記錄下來,以後還會用得上。

批處理常用命令總結

批處理 batch 也稱為批處理指令碼。顧名思義,批處理就是對某物件進行批量的處理。批處理檔案的擴充套件名為bat。目前比較常見 的批處理包含兩類 dos批處理和ps批處理。ps批處理是基於強大的編輯軟體photoshop的,用來批量處理的指令碼 而dos批處理則是基於dos命令的,用來自動地批量地...

Bat windows 批處理 常用命令

to make all bat files fullscreen reg add hkcu console v fullscreen t reg dword d 1 f to make all bat files not full screen reg add hkcu console v full...

使用批處理檔案 常用命令

echo call pause rem 是批處理檔案最常用的幾個命令,我們就從他們開始學起。echo 表示顯示此命令後的字元 echo off 表示在此語句後所有執行的命令都不顯示命令列本身 與echo off相象,但它是加在其它命令列的最前面,表示執行時不顯示命令列本身。call 呼叫另一條批處理...