赞
踩
原来.Bat文档中还可以不显示命令行或者不显示运行结果,长知识了。
若要不显示运行指令,则在命令行前输入@echo off,后面的指令都不会运行时显示,但是运行结果会显示出来。若后面的某行指令需要显示的话,则@echo on就可以。
若要命令行结果不显示,则输出重定向到null,eg:ping -n 3 127.0.0.1 >nul
直观一些,给出对应.bat文档和显示结果。
1、只需要执行的结果,不需要其他命令行和其结果
- Echo **BTTestMode**
-
- @echo off
- @.\device\devcon.exe enable "USB\VID_****&PID_****" >nul
- ping -n 3 127.0.0.1 >nul
-
- .\CopperkeyTool.exe /BTHtestmode
-
- ping -n 1 127.0.0.1 >nul
- .\device\devcon.exe disable "USB\VID_****&PID_****" >nul
-
- pause
结果
2、
- Echo **BTTestMode**
-
- @echo off
- @.\device\devcon.exe enable "USB\VID_****&PID_****" >nul
- ping -n 3 127.0.0.1 >nul
-
- @echo on
- .\CopperTool.exe /BTHtestmode
-
- @echo off
- ping -n 1 127.0.0.1 >nul
- .\device\devcon.exe disable "USB\VID_****&PID_****" >nul
-
- pause
结果
3、
- Echo **BTTestMode**
-
- .\device\devcon.exe enable "USB\VID_****&****"
- ping -n 3 127.0.0.1 >nul
- .\CopperTool.exe /BTHtestmode
- ping -n 1 127.0.0.1 >nul
- .\device\devcon.exe disable "USB\VID_****&PID_****"
-
- pause
结果
注意,有些命令若电脑不在管理员权限下是无法运行的,会显示找不到目录,这时更改权限,使.bat运行在管理员权限下(具体代码可参考之前博客),然后调到当前目录执行:cd /d %~dp0。
比如你有个批处理a.bat在D:\qq文件夹下
a.bat内容为
cd /d %~dp0
在这里
cd /d %~dp0的意思就是cd /d d:\qq
%0代表批处理本身 d:\qq\a.bat
~dp是变量扩充
d既是扩充到分区号 d:
p就是扩充到路径 \qq
dp就是扩充到分区号路径 d:\qq
/d是跳转到指定目录
cd(空格)XXX
是进入一个文件目录(文件夹)的命令
cd..是返回上一层文件目录(文件夹)的命令
cd\ 是直接退回分区根目录(也就是C盘或者D盘不进入任何文件夹)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。