Bat 命 令 解 释
@
命令:为不显示。
REM
命令:是个注释命令。
ECHO
命令:是打开ECHO命令显示功能。
命令详细解释:
( echo on )为打开ECHO命令显示功能。执行以后,后面所有的命令均不显示,包括本条命令。
在echo on情况下:rem注释的语句在程序运行时被打印出来。
( echo off )为关闭ECHO命令显示功能。执行以后,后面所有的命令均不显示,但本条命令是显示的。
在echo off情况下:rem注释的语句在程序运行时则不被打印出来。
::--
命令:行首加入::字符,注意不要在命令中间加空格。命令意思为跳过该行执行,即不执行此行。
goto XXX和:XXX
goto XXX 命令:为跳转!批处理中允许以“:XXX”来构建一个标志号,使用“GOTO XXX”语句跳转到标号的位置执行后面的命令内容。
:XXX 命令:标志号,即为“goto XXX”语句所跳转到的位置!会越过上面一段代码跳转到当前“:XXX”的位置继续执行如下代码!
pause
命令:停止系统命令的执行并显示下面的内容。例:“请按任意键继续. . .”
指令遇到后,Dos窗口等待我们敲击键盘,好进行下一步指令执行。
setlocal
语法:
setlocal {enableextension | disableextensions} {enabledelayedexpansion | disabledelayedexpansion}
参数:
enableextensions
启用命令扩展,直到出现匹配的 endlocal 命令,无论 setlocal 命令之前的设置如何。
disableextensions
禁用命令扩展,直到出现匹配的 endlocal 命令,无论 setlocal 命令之前的设置如何。
enabledelayedexpansion
启用变量延迟,直到出现匹配的 endlocal 命令,无论 setlocal 命令之前的设置如何。
disabledelayedexpansion
禁用变量延迟,直到出现匹配的 endlocal 命令,无论 setlocal 命令之前的设置如何。
使用setlocal让变量本地化
运行批处理文件时使用 setlocal 更改环境变量。运行 setlocal 后所做的环境更改是批处理文件的本地更改。cmd.exe 在遇到 endlocal 命令或者到达批处理文件的结尾时将恢复上一次的设置。
errorlevel 与 %errorlevel%
上面两个都是判断上个命令的返回值。
当使用if errorlevel 值 cmmand 句式时,它的含义是:如果返回的错误码值大于或等于值 的时候,将执行cmmand
操作;
当使用if %errorlevel%==值 cmmand 句式时,它含义是:如果返回的错误码值等于值 的时候,将执行cmmand操作。
一般上一条命令的执行结果返回的值只有两个,"成功"用0 表示 "失败"用 1 表示,实际上,errorlevel 返回值可
以在0~255 之间,
例如xcopy 默认的errorlevel 值就有5 个,分别表示5 种执行状态:
0复制文件成功
1 未找到复制文件
2 用户通过CTRL C 终止了xcopy操作
4 出现了初始化错误
5 出现了磁盘写入错误
if %ERRORLEVEL%对数值的比较方法不仅仅限于等于,可以使用参数来控制。
比如:IF %ERRORLEVEL% LEQ 1 goto okay
全部的比较参数如下:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
exit
批处理Exit命令用于退出DOS控制台。
taskkill
taskkill /im XXXX.exe 是把进程名XXXX.exe强行关闭。
del
(删除一个或数个文件)
names 指定一个或数个文件或目录列表。
/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 从所有子目录删除指定文件。
/Q 安静模式。删除全局通配符时,不要求确认。
/A 根据属性选择要删除的文件。
属性 :
r 只读、a 存档、s 系统、h 隐藏。
-前缀表明 “非”
显示:
>nul 即“1>nul”;屏蔽操作成功显示的信息,但是出错还是会显示。
2>nul 是屏蔽操作失败显示的信息,如果成功依旧显示。
>nul 2>nul 全部都屏蔽,成功的还是失败的都不显示。
案例一:
@echo off
set /p input=请输入字母A或B:
if "%input%"=="A" goto A
if "%input%"=="B" goto B
pause
exit
:A
echo 您输入的字母是A
pause
exit
:B
echo 您输入的字母是B
pause
案例二:
Rem Here is the description.
echo
rem 这一句意为查看命令回显的状态
echo off
rem 这一句意为关闭命令回显状态
echo on
rem 这一句意为打开命令回显状态
@Rem Here is the description.
pause