今天远程一个客户,发现他的服务器会不定时自动断开网络,导致客户端连接不了服务端,但是重启服务以后又恢复正常,初步判断可能是由于某个系统服务与winpacp有冲突,建议用户恢复操作系统,他想等晚上再开始操作,今天就只好一直运行个ping,发现timed out就手动重启服务。我记得if可以利用程序的返回值作为判断,就帮他写了这个脚本:

复制代码 代码如下:

@echo off
: p
ping 61.152.XX.XX
IF ERRORLEVEL 1 goto aa
IF ERRORLEVEL 0 goto bb
:aa
echo 正在重启软件服务...
net stop MSSQLSERVER
net start MSSQLSERVER
goto p
:bb
echo 继续ping中。。。
goto p

这段命令的作用是,ping 61.152.XX.XX这个IP,如果ping不通则重启mssql服务,然后继续ping,如果能够ping通,还是继续ping...

我们都知道if是命令行下的一个条件判断语句,ERRORLEVEL是它的一个参数,翻译过来就是“错误返回码”的意思,它的作用是判断前一条命令的错误返回值,然后和定义的字符值进行比较,再决定进行什么动作。
格式是这样:

if ERRORLEVEL nubmer commend
例:if ERRORLEVEL 1 echo 返回值等于1

那么大家就要问了,我怎么获取到前一个命令的返回值呢?
方法很简单,拿ping来说,我们先运行一个ping 127.0.0.1
运行结果是Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
这时候我们输入,echo %errorlevel%,就可以看到返回值是0,
然后我们在ping一个不存在的ip,比如192.192.192.192
ping命令显示 Request timed out.。
ok,我们在用echo %errorlevel%查一下返回值是多少。
现在变成了1。

你也可以用这个方法来查询其他命令的返回值,比如copy、dir等等。
当然if ERRORLEVEL对数值的比较方法不仅仅限于等于。在微软的帮助中我们可以看到:

IF %ERRORLEVEL% LEQ 1 goto okay

这里的LEQ表示“小于等于”,全部的比较参数如下:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于

如有错误,感谢指正。

IF-ERRORLEVEL

建立TEST4.BAT,内容如下:
@ECHO OFF 
XCOPY C:\AUTOEXEC.BAT D:\
IF ERRORLEVEL 1 ECHO 文件拷贝失败 
IF ERRORLEVEL 0 ECHO 成功拷贝文件 
然后执行文件:
C:\>TEST4
如果文件拷贝成功,屏幕就会显示“成功拷贝文件”,否则就会显示“文件拷贝失败”。 
IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小次序顺序判断。
因此下面的批处理文件是错误的:
@ECHO OFF 
XCOPY C:\AUTOEXEC.BAT D:\ 
IF ERRORLEVEL 0 ECHO 成功拷贝文件 
IF ERRORLEVEL 1 ECHO 未找到拷贝文件 
IF ERRORLEVEL 2 ECHO 用户通过ctrl-c中止拷贝操作 
IF ERRORLEVEL 3 ECHO 预置错误阻止文件拷贝操作 
IF ERRORLEVEL 4 ECHO 拷贝过程中写盘错误 
无论拷贝是否成功,后面的: 
未找到拷贝文件 
用户通过ctrl-c中止拷贝操作 
预置错误阻止文件拷贝操作 
拷贝过程中写盘错误
都将显示出来。 
以下就是几个常用命令的返回值及其代表的意义: 
backup 
0 备份成功 
1 未找到备份文件 
2 文件共享冲突阻止备份完成 
3 用户用ctrl-c中止备份 
4 由于致命的错误使备份操作中止 
diskcomp 
0 盘比较相同 
1 盘比较不同 
2 用户通过ctrl-c中止比较操作 
3 由于致命的错误使比较操作中止 
4 预置错误中止比较 
diskcopy 
0 盘拷贝操作成功 
1 非致命盘读/写错 
2 用户通过ctrl-c结束拷贝操作 
3 因致命的处理错误使盘拷贝中止 
4 预置错误阻止拷贝操作 
format 
0 格式化成功 
3 用户通过ctrl-c中止格式化处理 
4 因致命的处理错误使格式化中止 
5 在提示“proceed with format(y/n)?”下用户键入n结束 
xcopy 
0 成功拷贝文件 
1 未找到拷贝文件 
2 用户通过ctrl-c中止拷贝操作 
4 预置错误阻止文件拷贝操作 
5 拷贝过程中写盘错误

批处理 IF-ERRORLEVEL使用方法相关推荐

  1. 几种隐藏批处理运行窗口的方法

    (1)通过批处理命令实现.缺点:会看到一个窗口一闪而逝.优点:简单,直接添加即可. @echo off if "%1"=="h" goto begin star ...

  2. win7系统定时删除数据的批处理命令_Win7系统批处理删除文件的方法

    平常使用电脑过程中,我们可以使用批处理命令,轻松删除文件.批处理文件是扩展名为·bat 或·cmd的文本文件,包含一条或多条命令,由DOS或Windows系统内嵌的命令解释器来解释运行.接下来,我们就 ...

  3. DOS批处理静默执行的方法(无窗口)

    方法1: 使用批处理在执行时可以隐藏命令行显示的功能来实现. 创建如下的批处理: 代码示例: set ws=wscript.createobject("wscript.shell" ...

  4. 浅谈批处理获取管理员运行权限的几种方法

    很多用了Win10版本系统的人都会发现,Windows对程序的运行权限是控制得更加严格了,即使你将UAC控制放至最低,如果没有特别赋予外来程序管理员运行权限的话,很多程序都会运行出错,包括很多用于系统 ...

  5. LSMW批处理使用方法(01)_总述及界面说明

    一.总述 在SAP系统中,批处理操作有多种方法.如果是对一个事物码(TCODE)进行批处理操作,常用的是LSMW.LSMW全称是Legacy System Migration Workbench.它能 ...

  6. 批处理bat 延时启动的方法

    批处理延时启动的方法有很多 常见的有:ping,VBS等方法,方法很多,优缺点各有不同.经过实验总结如下: 时间间隔精度高,CPU占用率低 代码如下: choice /t 5 /d y /n > ...

  7. .bat批处理命令的介绍

    HUC = = D组 http://www.cnhonkerarmy.com/ 63707869 =====================================开始============ ...

  8. 批处理常用命令总结和WindowsXP下运行命令使用大全及优化

    关于批处理以及批处理常用命令的总结 [ 一.什么是批处理 ] 批处理文件图标 批处理(Batch),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理.批处理文件的扩展名为 bat . 目前 ...

  9. 关于批处理以及批处理常用命令的总结

    关于批处理以及批处理常用命令的总结 [ 一.什么是批处理 ] 批处理文件图标 批处理(Batch),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理.批处理文件的扩展名为 bat . 目前 ...

  10. DOS常用命令与批处理使用大全

    一.DOS命令使用规则 1.直接输入"help",运行,就可以列出所有命令及说明. 2.可以使用通配符(? 和 *),?表通配一个字符,*表通配任意字符 *.后缀 指定要查看后缀的 ...

最新文章

  1. 2022-2028年中国碘矿行业竞争格局分析及市场需求前景报告
  2. AtCoder AGC034D Manhattan Max Matching (费用流)
  3. python sort 多级排序_Python sort和class实现多级排序
  4. 单多晶技术拉锯战升级
  5. python机器视觉教材_基于Python的机器视觉实验教学平台设计
  6. Javascript第四章变量的提升和预解析方法流程第四课
  7. 蓝牙音箱连接成功但没有声音还是电脑的声音
  8. 金字塔原理读书笔记 一 为什么使用金字塔结构
  9. torch.sqrt(lhs**2) 与torch.abs(lhs)在pytorch中的差异
  10. 《编译与反编译技术》—第3章3.1语 法 分 析
  11. Android开发:一个TextView中设置文字不同字体大小和颜色的2种高效方法
  12. 如何让vnc控制由默认的twm界面改为gnome?(转)
  13. 彻底禁用Microsoft Compatibility telemetry
  14. PHP下制作图灵机器人程序
  15. 拨测技术在哪些方面应用比较广泛?
  16. Honeywell EPKS通用中文操作手册
  17. 地统计工具异常值查询和趋势分析
  18. Java modifier
  19. 写了一个新浪微博自动加粉的挂机小工具
  20. 永磁同步电机矢量控制(四)——速度环 PI 参数整定(二)

热门文章

  1. html中留言表怎么写,html 留言板:
  2. Linux 终端命令格式
  3. excel 50个功能
  4. 关于HTML的碎知识点
  5. Windows 2000/XP/2003修改输入法列表排列顺序的办法
  6. 网络云存储技术Windows server 2012 (项目二十 基于NLB的企业Web站点服务部署)
  7. 神奇的网站-----程序猿必备
  8. php四舍五入进一,php 四舍五入的三种方法
  9. 手机录屏怎么操作?有哪些好用的方法
  10. 干货|跨境电商应该如何选品?选品步骤、方法、工具全解析