前段时间为了省去每次都需要用vs打开工程去编译每个工程的时间,写了批处理脚本,批量编译所有工程,以下附上工作过程中用到的比较有用的内容链接:

什么是批处理?(来自百度百科)

批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat 。目前比较常见的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。更复杂的情况,需要使用if、for、goto等命令控制程式的运行过程,如同C、Basic等高级语言一样。如果需要实现更复杂的应用,利用外部程式是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中运行

批处理是一种简化的脚本语言,也称作宏。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND. COM或者CMD.EXE)解释运行。类似于Unix中的Shell脚本。批处理文件具有.bat或者.cmd的扩展名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。更复杂的情况,需要使用if,for,goto等命令控制程序的运行过程,如同C,Basic等中高级语言一样。如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理文件,或称为批处理程序,是由一条条的DOS命令组成的普通文本文件,可以用记事本直接编辑或用DOS命令创建,也可以用DOS下的文本编辑器Edit.exe来编辑。在“命令提示”下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe运行该批处理程序。一般情况下,每条命令占据一行;当然也可以将多条命令用特定符号(如:&;、&&;、|、||等)分隔后写入同一行中;还有的情况就是像if、for等较高级的命令则要占据几行、几十甚至几百行的空间。系统在解释运行批处理程序时,首先扫描整个批处理程序,然后从第一行代码开始向下逐句执行所有的命令,直至程序结尾或遇见exit命令或出错意外退出。

示例代码:

以下这段代码是一个输出“hello world”的批处理代码:
@echo off
echo hello world
pause & exit
以下这段代码可以把用户输入的字符赋值到"input"变量里,并输出:
@echo off
set /p "input=>"
echo 您输入的是%input%
pause

以下为比较有用的内容,转自不同的地方: 

  1. 批处理命令
    https://blog.csdn.net/Miss_kun/article/details/51595208?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158620672519725247631207%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158620672519725247631207&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-all_SOOPENSEARCH-9
  2. 批处理命令——echo 和 @
    https://www.cnblogs.com/Braveliu/p/5061745.html
  3. DOS 批处理命令For循环命令详解
    https://www.jb51.net/article/93171.htm
  4. 批处理for与变量延迟详解(重点)
    https://wenku.baidu.com/view/c48fe942336c1eb91a375df9.html
  5. DOS批处理笔记
    https://www.yht7.com/news/31597
  6. 通过批处理脚本命令行编译VS工程  命令行编译通用模板
    https://blog.csdn.net/SoaringLee_fighting/article/details/78046263?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3
  7. 利用批处理结合Msbuild实现快速编译
    https://www.cnblogs.com/fang-beny/archive/2013/04/20/3032114.html
  8. bat find 命令
    https://blog.csdn.net/mezheng/article/details/7948710
  9. bat中的color的参数
    https://zhidao.baidu.com/question/535219291.html

下面为本人写的bat文件(出于隐私, BUILD_SLN_PATH均为虚拟的,根据自己的工程路径修改即可;BUILD_log为编译的log日志,编译时的信息)

@echo   offrem 如果你的工作目录不在N盘 或者 Vs2015 不在C盘只需修改下面三行
set VIPS_PATH="F:\Lx"
cd /d %VIPS_PATH%
set VS2015PATH="D:\"Program Files (x86)"\"Microsoft Visual Studio 14.0"\Common7\IDE\"
if not exist "%VS2015PATH%\DEVENV.EXE" goto EnvError
@SET DEVENV="%VS2015PATH%\DEVENV.EXE"setlocal enabledelayedexpansionrem ======================for begin=====================
set /a bProcess=1
for /l %%i in (1,1,3) do (rem =================1 Lx1=====================
if %%i EQU 1 (
set BUILD_TYPE= "Debug|x64"
set BUILD_log= ".\buildlog\Build_Lx1.log"set BUILD_PROJECT=Lx1
set BUILD_SLN=Lx1.sln
set BUILD_SLN_PATH=.\Lx1\!BUILD_SLN!
)rem =================2 Lx2=====================
if %%i EQU 2 (
set BUILD_TYPE= "Debug|x64"
set BUILD_log= ".\buildlog\Build_Lx2.log"set BUILD_PROJECT=Lx2
set BUILD_SLN=Lx2.sln
set BUILD_SLN_PATH=.\Lx2\!BUILD_SLN!
)rem =================3 Lx3=====================
if %%i EQU 3 (
set BUILD_TYPE= "Debug|x64"
set BUILD_log= ".\buildlog\Build_Lx3.log"set BUILD_PROJECT=Lx3
set BUILD_SLN=Lx3.sln
set BUILD_SLN_PATH=.\Lx3\!BUILD_SLN!
)rem =================编译=====================
if !bProcess! EQU 1 (
echo [%date% %time%]: 开始编译,delete pre log file:!BUILD_log!
if exist !BUILD_log! del !BUILD_log!echo [%date% %time%]: 开始编译,[!BUILD_TYPE!]{!BUILD_PROJECT!}
echo [%date% %time%]: 开始编译,[!BUILD_TYPE!] !BUILD_SLN!%DEVENV% !BUILD_SLN_PATH! /Rebuild !BUILD_TYPE! /out !BUILD_log!echo [%date% %time%]: 编译完成{!BUILD_PROJECT!}rem 校验编译结果
echo [%date% %time%]: 开始校验编译结果 ...
FOR /F "tokens=6 delims= " %%i IN ('FIND /N "=====" !BUILD_log! ') DO SET e1=%%i
IF !e1! NEQ 0 ECHO 工程"!BUILD_SLN_PATH!"有!e1!个错误!echo [%date% %time%]: 校验编译结果完毕 ...
IF !e1! NEQ 0 COLOR 84 & GOTO End
rem 校验完毕rem 打印编译输出信息
rem notepad build.log
type !BUILD_log!
)set /a bProcess=1
)
rem ======================for end=====================
goto End:EnvError
@echo 环境变量设置有误:End
pause

Windows下Bat批处理相关推荐

  1. Windows下bat批处理脚本常用场景整理,持续更新中。。。

    Windows下bat批处理脚本常用场景整理,持续更新中... 一.Winodws下使用bat脚本对结果进行筛选 例如:在筛选出来的结果中,筛选是否有"$G"字段 adb shel ...

  2. windows下bat批处理实现守护进程

    本文转自网络,由于找不到原作者,因而无法知道出处.如果有幸让原作者看到,请联系我加上.先转载至此. 最近几天加班加疯掉了,天天晚上没法睡.开发部的一个核心程序总是会自己宕机,然后需要手工去起,而这个服 ...

  3. windows下bat批处理实现守护多个进程

    同时守护多条进程 @echo off set task_one = task_one .exe set task_two =  task_two.exe set svr_one = 绝对路径\task ...

  4. windows下bat处理执行Mysql的sql语句

    这篇文章主要介绍了windows下bat批处理执行Mysql的sql语句,需要的朋友可以参考下 有时候我们需要用bat来定时执行mysql那么就可以参考下面的代码 直接上代码: @ECHO OFF S ...

  5. windows下使用批处理命令安装 tomcat 服务

    windows下使用批处理命令安装 tomcat 服务 1.准备 jdk的解压包 tomcat解压包 2.编写批处理命令(bat) 把jdk的解压包放到tomcat下的bin目录里(我这里直接使用的是 ...

  6. Windows系统bat批处理脚本实现暂停时间延迟方法

    描述:Windows系统bat批处理脚本实现暂停时间延迟方法 代码: @ping 127.0.0.1 -n 1 >nul

  7. windows下BAT脚本ftp上传文件

    windows下BAT脚本ftp上传文件 若有需要请替换ftpip.ftpuser.ftppasswd 为自己ftp服务器地.用户名以及密码. @echo off rem 获取系统时间的星期值 rem ...

  8. windows 下.bat 文件双击无法运行

    最近发现windows 中bat 文件双击的时候无法直接运行,而是弹出"打开方式"的对话框,让选择: 而通过路径选择c:\Windows\System32\cmd.exe 的时候, ...

  9. Windows下用批处理抓取smart日志

    Windows下硬盘数量较少时可以用HDDScan这个工具来抓取硬盘smart日志,但硬盘数来如果较多时,鼠标点来点去的就太费劲了.用smartmontools这个工具可以很简单的抓取硬盘smart日 ...

最新文章

  1. 基于微软企业库的AOP组件(含源码)
  2. 开发Linux系统下的磁盘加密方法详解
  3. matlab数组操作
  4. js最小化浏览器_Handtrack.js 开源:3行JS代码搞定手部动作跟踪
  5. cacti linux cpu datasource,Cacti监控Cisco CPU 以及内存
  6. CodeForces 176A Trading Business 贪心
  7. 2074. 反转偶数长度组的节点
  8. 信息学奥赛一本通(1072:鸡尾酒疗法)
  9. 网络爬虫之httpclient的使用
  10. strip(),replace()和re.sub()用法
  11. 广度搜索 -- 9.1 Word Ladder -- 求是否有解 -- 图解
  12. 高中计算机编程语句,高中信息技术程序设计知识点.doc
  13. ERP企业管理系统与CRM客户关系管理系统集成套路
  14. 沁园春·长沙 中法对照
  15. 计算机综述论文能发期刊吗,计算机核心期刊哪些好发
  16. 【技术贴】图文教程 最新QQ空间免费背景音乐添加方法||QQ空间免费添加背景音乐。...
  17. java的duplicate用法_Java FloatBuffer duplicate()用法及代码示例
  18. 网络三剑客之sed编辑器
  19. 教你微信对接图灵机器人
  20. 教你如何给小米5续命

热门文章

  1. KSM,UKSM,PKSM(1/2)
  2. 去掉快捷方式图标的标志
  3. vue使用最简单的方法预览pptx、docx、xlsx文件
  4. 零跑股价带领零跑汽车,冲锋新能源市场
  5. 2022云计算技能大赛-私有云
  6. python 网页中插入自己的图片
  7. Mitsuba 0.5 Subsurface scattering的一些尝试
  8. ubtech及某宝黑舵机分析-转载
  9. 单片机-蓝桥杯 用光敏电阻测量光照强度并显示在数码管上。
  10. 交叉编译rtl8822cu.ko