脚本文件BAT入门(2)

一、管理员运行脚本

::在你的脚本前加上以下两句命令

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

::下面是你的程序
tscancode.exe --enable=warning E:\Gbmp\gdc-sdk\src\Common 2>tscancode.txt

二、重定向符号的使用

重定向符号有两个"<" 和 ">"

nul 是空设备的意思

<  的使用

在命令调用其它bat文件或者exe文件时,加上 < nul可以忽略调用文件中的pause

如:call test01.bat <nul

>  的使用

在命令后面添加上 >nul 时,可以忽略掉信息的输出

在命令后面添加上 2>nul 时,不显示错误提示

如:call test01.bat >nul

二、获取路径

1、获取当前路径 %cd%,当前运行的路径,可以改变

2、%~dp   %0是批处理文件本身的路径,%~dp进行扩展, d向前扩展到驱动器,p往后扩展到路径。

例如,你的bat文件在e:\mybat\test.bat,则%0就是"e:\mybat\test.bat", %~dp0是e:\mybat\

三、for语句的常用语法

1、读取文本 for /f

三种形式

如果是文件,则无需包裹;如果是命令语句,则用单引号包裹;如果是字符串,则使用双引号括起来。

1、for /f %%i in (文件名) do (……)
2、for /f %%i in ('命令语句') do (……)
3、for /f %%i in ("字符串") do (……)

for /f 语句是以行为单位处理文本文件的。

@echo off
::读取test.txt 并打印到屏幕
for /f %%i in (test.txt) do echo %%i&pause
pause

@echo off
::按行读取d:\test.txt文件中的内容,输出每行的第一个数据,默认每行内以空格和tab为分隔符
for /f %%i in (d:\test.txt) do echo %%i
::delims参数指定分隔符为/
for /f "delims=/" %%i in (d:\test.txt) do echo %%i
::tokens参数指定读取第二列,tokens=*读取所有
for /f "tokens=2 delims=/" %%i in (d:\test.txt) do echo %%i
::skip参数直接跳过前两行,从第三行开始
::tokens=2,*读取第二个和之后剩余所有,%%i为第一列值,%%j为之后剩余所有
::tokens=1,4读取第一个和第四个,%%i为第一列值,%%j为第四列值
::('net start')表示将单引号内语句的执行结果作为集合
for /f "skip=2 tokens=1,* delims=/" %%i in ('net start') do echo %%i %%j
::("asc/2ap/as5")表示对字符串进行处理
for /f "tokens=2,* delims=/" %%i in ("asc/2ap/as5") do echo %%i--%%j
::eol参数直接忽略以#开头的行
for /f "eol=# tokens=*" %%i in (d:\test.txt) do echo %%i

2、 for /r

for /r 的作用是“递归”,我们换一个通俗一点的,叫“遍历文件夹”。

::列举“目录”及其之下的所有子目录

@echo off
for /r d:\test %%i in (.) do echo %%i
pause

3、 计数循环:for /l

for /l %%i in (1,2,10) do echo %%i

以上的代码中,初始值是1,步长为2,终止值为10,

四、使用脚本编译c++程序

1、使用脚本启动vs

start  .\Test_use_bat_compile\Test_use_bat_compile.sln

2、使用脚本编译

devenv是VisualStudio的可执行程序,一般安装在“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE”下。

这个路径下有两个 devenv 文件,devenv.com 和 devenv.exe。

其中devenv.com是命令行程序,也就是用命令行运行 VisualStudio,编译结果会直接输出到命令行窗口上。devenv.exe是GUI的程序。

格式:devenv 解决方案文件.sln /build [ 解决方案配置 ] [ /project 项目名称或文件 [ /projectconfig 名称 ] ]

如下例子:清除解决方案

set DEVENV_COMPILER="C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com"

cd ../build
%DEVENV_COMPILER% GDC.sln /Clean "Release|X64"
cd ../bin

/Build  使用指定的解决方案配置生成解决方案或项目。

/Rebuild   先清理,然后使用指定配置生成 解决方案或项目。

/Run    编译并运行指定的解决方案。

3、使用cmake编译

cmake官网文档:cmake官网

(1)生成解决方案  cmake G"Visual Studio 16 2019" -B .\build -S .\CMakeProject1 

         G为指定编译平台  B为生成目录  S为源文件路径

(2)是生成可执行文件,也可使用上面的denenv工具

         cmake --build .\build --config "release"

五、关闭、开启网络

netsh interface set interface name=\"以太网\" admin=\"disabled\"

netsh interface set interface name=\"以太网\" admin=\"enabled\"

 

 

 

 

  • 15
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值