bat批处理

简介: DOS在运行批处理时, 会依次执行批处理中的每条命令,并且会在显示器上显示,如果你不想让它们显示,可以加一个“echo off”。 当然,“echo off”也是命令,它本身也会显示,如果连这条也不显示,就在前面加个“@”。@本身就是一条指令,意思是跟在它后面的指令的执行及结果都不会在DOS界面上显示出来,当然只是它所在的那一行有效,另起一行的指令@将不再有效。 调用程序并获得标准输
DOS在运行批处理时,
会依次执行批处理中的每条命令,并且会在显示器上显示,如果你不想让它们显示,可以加一个“echo off”。
当然,“echo off”也是命令,它本身也会显示,如果连这条也不显示,就在前面加个“@”。

@本身就是一条指令,意思是跟在它后面的指令的执行及结果都不会在DOS界面上显示出来,当然只是它所在的那一行有效,另起一行的指令@将不再有效。

调用程序并获得标准输出。

::以java调用为例

for /f  %%i in ( 'java -jar LogAnalysis.jar ')   do @set var=%%i

有时其他程序的输出不是标准输出,可以能要重定向才好

@echo off
echo 正在检测jdk环境
::这里为什么是标准错误输出我也不清楚。。
java -version 2>c:\var\deployWin32\echojdk.txt
for /f  %%i in (c:\var\deployWin32\echojdk.txt)   do @set varA=%%i
::若存在 jdk,那么varA以Java打头
if %varA%==Java (goto theFinishInstall) else (goto theInstall)
:theInstall
echo 即将安装jdk
start c:\var\deployWin32\programs\jdk.exe
goto theEnd
:theFinishInstall
echo jdk已安装完成
:theEnd
pause

获取标准输入,与用户交互

@echo off
set /p a=请输入昵称
echo 您的<span style="font-family: Arial, Helvetica, sans-serif;">昵称为 </span><span style="font-family: Arial, Helvetica, sans-serif;">%a%</span>
::pause为按任意键退出 效果
pause

if语句

if %var% == the-value (goto do_a) else (goto do_b)
:do_a
call c:\var\crawl\autokill.bat
ping /n 10 127.0.0.1 > nul
call c:\var\crawl\autoupdate.bat
goto end
:do_b
echo hello
:end


更改工作目录

cd命令是不会修改当前的drive(即磁盘)的。
比如如果当前目录是E:/execute,执行cd c:/temp命令之后,当前目录不会产生任何变化。
要保证当前目录修改成功,必须加 /d参数,即cd /d c:/temp

目录
相关文章
|
6月前
|
Shell
shell脚本之批处理脚本
shell脚本之批处理脚本
75 1
|
7月前
|
Windows
使用bat批处理来简化程序使用
使用bat批处理来简化程序使用
BAT中取得一个命令的执行结果
BAT中取得一个命令的执行结果
1053 0
|
Unix
bat批处理命令之Start的详细用法\批处理打开指定的应用程序\批处理最大化\最小化打开程序
bat批处理命令之Start的详细用法\批处理打开指定的应用程序\批处理最大化\最小化打开程序
1933 0
好工具推荐系列:写个.bat批处理脚本,实现一键删除VC++目录下的临时文件
好工具推荐系列:写个.bat批处理脚本,实现一键删除VC++目录下的临时文件
130 0
|
NoSQL Redis
.bat批处理文件案例
.bat批处理文件案例
141 0
|
Shell Perl Android开发