windows 批处理程序

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值