rem echo off:关闭回显,批处理中的每一条命令都不会显示在显示器上。而echo off本身也是一条命令,如果不想让其显示,只需在前方加@符号即可。
SET CURRENT_PATH=%cd%
rem 注意,SET等号左右两边不能有空格
rem 将等号右侧的值赋值给等号左侧的变量;
rem 使用%包裹的字符(字符串)是一个变量;
rem %cd%:点击的bat脚本的工作路径(最开始点击的bat脚本所在的路径)。
SET PROTOC_PATH=%CURRENT_PATH%
SET PATH=%PATH%;%PROTOC_PATH%
rem 将PROTOC_PATH所指向的路径添加到系统PATH环境变量中去(并不会永久改变环境变量,是临时性的)
set target_path=.
echo 编译: player.proto cpp && “%PROTOC_PATH%\protoc.exe” –cpp_out=”%target_path%/” –proto_path “https://www.jb51.net/article/” 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 “https://www.jb51.net/article/” 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,用于屏幕标准输出在屏幕上的显示,即“按任意键退出”该行中文不会显示在DOS界面中。&符号的作用在第三部分:常用特殊符号已经介绍。
rem exit命名用于退出DOS控制台,当我们按任意键退出时,执行exit。