欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Windows?批處理的應(yīng)用小結(jié)(ProtoBuf編譯自動化工具)

 更新時間:2022年09月07日 10:36:09   作者:ufgnix0802  
這篇文章主要介紹了Windows?批處理的應(yīng)用(ProtoBuf編譯自動化工具),下面使用構(gòu)建一個將ProtoBuf源文件生成C++源文件以及C#源文件的自動化批處理工具為例,需要的朋友可以參考下

Windows批處理的應(yīng)用(ProtoBuf編譯自動化工具)

參考文章:http://www.dbjr.com.cn/article/261993.htm

批處理概述

批處理,顧名思義就是可以批量處理,也稱為批處理腳本,英譯名為BATCH,后綴名.bat也是由此而來。他的構(gòu)成沒有固定的格式,只要遵循:每一行可視為一條命令,每條命令里可以含多條子命令,從第一行開始執(zhí)行,直至最后一行結(jié)束,它運(yùn)行的平臺是DOS即可。批處理的特點:使用方便、靈活,功能強(qiáng)大,自動化程度高。

實例(ProtoBuf編譯自動化工具)

  下面使用構(gòu)建一個將ProtoBuf源文件生成C++源文件以及C#源文件的自動化批處理工具為例。

  首先準(zhǔn)備生成好的proto.exe(ProtoBuf編譯器,運(yùn)行ProtoBuf源碼即可生成)以及ProtoBuf源文件,如下:

效果圖

資源鏈接:http://xiazai.jb51.net/202209/yuanma/proto_jb51.rar

  緊接著,我們創(chuàng)建批處理文件(bat文件),如下:

效果圖

TIPS:上述三個文件放同一個路徑下即可運(yùn)行生成。

  定義內(nèi)容如下:

rem命令是批處理文件中的注釋,相當(dāng)于C++中的//。

@echo off                 
rem echo off:關(guān)閉回顯,批處理中的每一條命令都不會顯示在顯示器上。而echo off本身也是一條命令,如果不想讓其顯示,只需在前方加@符號即可。

SET CURRENT_PATH=%cd%
rem 注意,SET等號左右兩邊不能有空格
rem 將等號右側(cè)的值賦值給等號左側(cè)的變量;
rem 使用%包裹的字符(字符串)是一個變量;
rem %cd%:點擊的bat腳本的工作路徑(最開始點擊的bat腳本所在的路徑)。

SET PROTOC_PATH=%CURRENT_PATH%

SET PATH=%PATH%;%PROTOC_PATH%
rem 將PROTOC_PATH所指向的路徑添加到系統(tǒng)PATH環(huán)境變量中去(并不會永久改變環(huán)境變量,是臨時性的)

set target_path=.
echo 編譯: player.proto cpp && "%PROTOC_PATH%\protoc.exe" --cpp_out="%target_path%/" --proto_path "./" player.proto 
rem echo + message,用來在DOS界面打印消息,類似于C語言的printf。
rem &&符號在第三部分:常用特殊符號中有介紹,不再敘述。
rem 由于一開始開啟@echo off,而&&后面部分為一條命令(將ProtoBuf源文件編譯為C++源文件,包括.h、.cc文件),則在DOS界面中是不會顯示的,即@echo off的屏幕效果不會因為&&而失效。

echo 編譯: player.proto csharp && "%PROTOC_PATH%\protoc.exe" --csharp_out="%target_path%/" --proto_path "./" player.proto 
rem 原理同上。

echo 操作完成,按任意鍵退出
echo 完成時間 %date:~0,10% %time:~0,8%
rem %date:~0,10%是批處理中用于取日期的命令。~0,10%類似于字符串截取。
rem %time:~0,8%是批處理中用于取時間的命令。~0,8%類似于字符串截取。

pause>nul&exit
rem pause是批處理中按任意鍵退出,但是由于會顯示一行中文,故使用>nul,用于屏幕標(biāo)準(zhǔn)輸出在屏幕上的顯示,即“按任意鍵退出”該行中文不會顯示在DOS界面中。&符號的作用在第三部分:常用特殊符號已經(jīng)介紹。
rem exit命名用于退出DOS控制臺,當(dāng)我們按任意鍵退出時,執(zhí)行exit。

效果演示

效果圖

常用特殊符號

命令含義
@命令行回顯屏蔽符
%批處理變量引導(dǎo)符
>
>>
輸出重定向
> 傳遞并覆蓋
>> 傳遞并在末尾追加
<
>&
<&
管道命令,一般不常用
|命令管道符
^轉(zhuǎn)義字符,將特殊符號 < 、 > 、 & 的特殊功能去掉
&
&&
||
組合命令,就是把多個命令組合起來當(dāng)一個命令執(zhí)行。
& 命令是順序執(zhí)行的,從前往后執(zhí)行
&& 可以同時執(zhí)行多條命令,當(dāng)碰到執(zhí)行出錯的命令后,將不再執(zhí)行后面的命令
|| 可以同時執(zhí)行多條命令,當(dāng)?shù)谝粋€命令執(zhí)行失敗后,才執(zhí)行第二條命令,當(dāng)碰到執(zhí)行正確的命令后將不再執(zhí)行后面的命令
“ ”字符串界定符號
,相當(dāng)于空格
;當(dāng)命令相同時,可以將不同的目標(biāo)用 ; 來隔離,但執(zhí)行效果不變,如果執(zhí)行過程中發(fā)生錯誤,則只返回錯誤報告,但程序仍會執(zhí)行
( )小括號在批處理編程中有特殊的作用,左右括號必須成對使用,括號中可以包括多行命令,這些命令將被看成一個整體,視為一條命令行
!在變量延遲問題中,用來表示變量,即 %var% 應(yīng)該表示為 !var!

批處理(bat) %cd% 與 %~dp0的區(qū)別

  • %cd%是指:點擊的bat腳本的工作路徑(最開始點擊的bat腳本所在的路徑)。
  • %~dp0是指:當(dāng)前執(zhí)行的bat腳本所在目錄(隨著執(zhí)行腳本的變化而變化)。

TIPS:%~dp0可以在A.bat的命令行中運(yùn)行B.bat時,獲得B.bat所在的路徑。

批處理(bat)將路徑添加到PATH環(huán)境變量中的兩種方式

環(huán)境變量:通過在環(huán)境變量里面加入所需軟件的安裝路徑(exe文件所在路徑),當(dāng)我們想運(yùn)行某一軟件時雙擊其快捷方式或者在DOS界面輸入軟件名稱(命令),此時,計算機(jī)除了在其當(dāng)前目錄下尋找該軟件的.exe文件之外,還在環(huán)境變量中搜索該軟件的執(zhí)行路徑,找到,則運(yùn)行。

永久添加

TIPS:該方式需要有管理員權(quán)限。

@echo off
rem 設(shè)置要永久加入到path環(huán)境變量中的路徑
set My_PATH=D:AppFolder
set PATH=%PATH%;%My_PATH%
reg add "HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment" /v "Path" /t REG_EXPAND_SZ /d "%PATH%" /f
exit

臨時添加

@echo off
rem 設(shè)置要臨時加入到PATH環(huán)境變量中的路徑
set My_PATH=D:AppFolder
set PATH=%PATH%;%My_PATH%
rem 其它腳本命令todo
pause

到此這篇關(guān)于Windows 批處理的應(yīng)用(ProtoBuf編譯自動化工具)的文章就介紹到這了,更多相關(guān)Windows 批處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論