.bat>初窥门径

  • 批处理文件具有.bat或者.cmd的扩展名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。
  • 更复杂的情况,需要使用if,for,goto等命令控制程序的运行过程,如同C,Basic等中高级语言一样。如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。
  • 某度某科有相关命令教程

  • 简单对其命令做一总结:
  • 输出 :echo
  • 注释 :rem
  • 调用 :call/start
  • 跳转 :goto:
  • 设置与删除 : set/set x==
  • 符号简介
  • @ :回显屏蔽
  • > :覆盖重定向
  • >> :追加重定向
  • < :输入重定向
  • | :将前面的输出作为后面的输入
  • ^ :转义符

下面直接上.bat文件对其进行分析

@echo off

call :prepare_env
call :build_vs

goto :EOF

:prepare_env

echo "call env.bat if exist"
if exist env.bat (call env.bat)

goto :EOF

:build_vs

if defined VC_DIR  (
	if defined QT5_9 (echo "VC_DIR and QT5_9 are set.") else (
		echo "please set the 2 env variables: VC_DIR, QT5_9 in env.bat, and retry again."
		pause
		exit
	)
)  else  (
	echo "please set the 2 env variables: VC_DIR, QT5_9 in env.bat, and retry again."
	pause
	exit
)

SET PATH=%QT5_9%;%PATH%
call "%VC_DIR%\vcvarsall.bat" amd64

qmake -r -tp vc ./monitor_server.pro

pause
start devenv.exe monitor_server.sln

goto :EOF

@echo off:关闭所有命令的回显
call : 和汇编里的call很像,但是要注意其和goto、start的区别
goto : EOF,返回并等待下一条命令,而exit则是直接退出
if exist :判断目标是否存在,if有很多用法
set PATH::设置环境变量,所以还有一个env.bat文件(见后)
qmake:Qt的工具,生成跨平台的.pro项目
start:可以理解为另起一个进程

rem env.bat如下,存放了一些路径,设置环境变量时用得到
SET VC_DIR=D:\Vs\VC
SET QT5_9=D:\qt\5.9.6\msvc2015_64\bin
SET DEBUGGERS=D:\Windows Kits\10\Debuggers\x64
SET SYMBOL_DIR=D:\symbols
SET ADVANCEDINSTALLER=C:\Program Files (x86)\Caphyon\Advanced Installer 14.0.2\bin\x86
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值