前言
最近在看《深入剖析Tomcat》,其中涉及了常见的dos命令,这里做一些简单记录,其实跟linux命令很像。
案例
-
.bat:批处理文件
-
rem:用于注释,解释器不会执行以rem命令开始的行
- pause:暂停正在执行的批处理文件,并提示用户按键之后继续执行
-
echo:用于在中断显示一段文本
echo %os%
:显示操作系统名字echo off
:防止将批处理文件中的具体命令输出,只输出执行结果@echo off
:在echo off的基础上将命令本身的隐藏
-
set:设置用户定义或命名的环境变量。暂时存储在内存中,命令执行完就销毁。
set THE_KING=Elvis echo %THE_KING%
-
label:使用冒号设置标签,可以作为goto的跳转位置
:end
设置名称为end的标签 -
goto:强制批处理文件跳转到指定位置执行
echo Start goto end echo I can guarantee this line will not be executed :end echo End pause
-
if:
- 测试变量的值
- 测试文件是否存在
- 测试错误值
-
exist:测试文件是否存在
-
接收参数:通过%来传递参数 %1 表示第一个参数,%2表示第二个参数;
echo %1
就会打印出命令行中第一个传入的参数
if %1 == start goto start if %1==stop goto stop goto invalid :start echo Starting appincation goto end :stop echo Stopping application goto end :invalid echo Invalid parameter :end
-
shift:将接收参数向后移动一位,如%2的值给%1,%3的值给%2,这时候可以用%0获取第一个参数
@echo off shift if %1 == start goto start if %1==stop goto stop goto invalid :start echo Starting appincation goto end :stop echo Stopping application goto end :invalid echo Invalid parameter :end
-
call:调用另一条命令。
-
setLocal:批处理脚本中使用,对环境变量的修改只在当前批处理脚本中有效,遇到endLocal命令则在批处理文件末尾的环境变量的值会恢复成原来的值。
-
start:新开启Windows一个控制台,并指定名字。
start "Title" echo hello