IF-ERRORLEVEL使用方法


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

今天远程一个客户,发现他的服务器会不定时自动断开网络,导致客户端连接不了服务端,但是重启服务以后又恢复正常,初步判断可能是由于某个系统服务与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 拷贝过程中写盘错误 

您可能感兴趣的文章:

  • cmd if条件 条件判断
  • dos if 条件判断
  • bat批处理 if 命令示例详解
  • bat If 命令常用判断介绍
  • bat中errorlevel与%errorlevel%的区别
  • dos中一些常用命令的errorlevel返回值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352483.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Eclipse IDE中的Java 9 module-info文件

请注意&#xff0c;本文并非旨在更新状态&#xff1b; 这只是基于我对Beta代码所做的一些实验而得出的快速更新。 已经有一段时间了&#xff0c;但是我要回到Eclipse IDE中尝试Java 9支持。 为了进行测试&#xff0c;我从Eclipse Project下载了最新的Oxygen &#xff08;4.7&…

局域网mysql数据库访问

1、调出mysql 命令界面 输入命令&#xff1a; mysql> use mysql Database changed mysql> select host,user,password from user; ------------------------------------------------------------ | host | user | password | --…

java.util中,util是什么意思

Util是utiliy的缩写&#xff0c;是一个多功能、基于工具的包。 java.util是包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类&#xff08;字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等&#xff09…

Mathematics 9.0 绘制不等式确定的区域

在最新的mathematics软件中使用如下代码&#xff0c;无法产生程序&#xff1a; 在搜索了Mathematics 9.0 -> 帮助 -> 参考资料中心的内容&#xff0c;查到一个更简单好用的函数&#xff0c;正确结果如下&#xff1a;

无法打开包括文件:“mysql..h”: No such file or directory

出现这个问题后&#xff0c;根据网上提供的方法做了很多&#xff0c;但都没有用。后来在盘里面找了一下确实没有mysql.h这个文件&#xff0c;原来mysql必须选择complete安装方式才会有这个头文件。首先重新安装了一次mysql&#xff0c;然后选择自己的工程&#xff0c;进行环境配…

C# WPF 显示图片和视频显示 EmuguCv、AForge.Net测试

C# WPF 显示图片和视频显示 EmuguCv、AForge.Net测试 原文:C# WPF 显示图片和视频显示 EmuguCv、AForge.Net测试WPF 没有用到 PictureBox, 而是用Image代替. 下面我试着加载显示一个图片 。 XAML <Image x:Name"srcImg"Width"400"Height"300"…

一般一个前端项目完成需要多久_一种按周迭代的敏捷式项目管理方法

项目管理有很多理论&#xff0c;并且相关内容非常丰富&#xff0c;例如经典的项目管理的教材《项目管理&#xff1a;计划、进度和控制的系统方法》&#xff0c;字数达到了100万字。但是从源头来说&#xff0c;经典项目管理理论都是源自于对生产项目的过程中需要的管理的总结。对…

excel连接mysql 数据库

最近做个项目需要对收集到的数据进行实时刷新&#xff0c;原先考虑让获得的数据之间输出到txt文本&#xff0c;然后又文本导入到数据库&#xff0c;但是txt在修改查找的时候要把数据都读入到内存在进行相关改动&#xff0c;这样就很耗内存&#xff0c;而且文件占用率比较高&…

python jieba库下载_Python中jieba库安装步骤及失败原因解析

Python 中 jieba 库安装步骤及失败原因解析 作为计算机小白&#xff0c; Python 的流行也让我蠢蠢欲动&#xff0c; 在请教计算机 专业同学后&#xff0c;开始上网课自学 Python 基础知识。今天老师简单的一 句话“在命令行去运行 pip install jieba 的指令”安装 jieba 库&…

开放源代码库指南

微软.NET开发团队在博客上&#xff08;https://blogs.msdn.microsoft.com/dotnet/2018/10/15/guidance-for-library-authors/&#xff09;刚刚发布了.NET Library Guidance的第一个版本。这是一系列全新的文章&#xff0c;指导你为.NET创建高质量代码库。该指南包含我们已确定的…

[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配

在数据库和excel对接中有可能会出现错误“[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中&#xff0c;驱动程序和应用程序之间的体系结构不匹配” 本人发生这种情况的是在excel 在选定数据连接向导的时候&#xff0c;这是驱动程序和excel的体系结构不匹配&#xff1b; 环…

python程序写诗_python写的简单发送邮件的脚本

近来有些东西需要监控报警发邮件&#xff0c;然后在网上找了点材料&#xff0c;自己写了一个简单发送邮件的脚本&#xff0c;主要就是运用python的smtplib模块&#xff0c;分享给大家看一下&#xff1a; #!/usr/bin/env python # -*- coding: utf-8 -*- #导入smtplib和MIMEText…

多线程的运行状态

多线程运行状态 线程从创建、运行到结束总是处于下面五个状态之一&#xff1a;新建状态、就绪状态、运行状态、阻塞状态及死亡状态。 新建状态 当用new操作符创建一个线程时&#xff0c; 例如new Thread(r)&#xff0c;线程还没有开始运行&#xff0c;此时线程处在新建状态。 当…

LOAD DATA INFILE 语法

原文地址:http://blog.sina.com.cn/s/blog_539f03f00100xfxb.html mysql 的LOAD DATA INFILE 是一个高速insert的不错的方案 篇文章语法介绍的比较详细&#xff0c;转载&#xff0c;记录。 其实我就这样用&#xff1a; load data infile /home/mark/data_update.sql replace i…

@configurationproperties注解的使用_SpringBoot常用注解的简单理解

不定时更新...文章目录Spring容器JavaBeanPOJOAutowiredControllerResourceRestControllerServiceRepositoryMapperComponentEntityTransactionalBeanResponseBodyRestControllerRequestMappingPathVariableRequestParamRequestBody ValueSpringBootApplicationConfigurationPr…

3. Recursive AutoEncoder(递归自动编码器)

1. AutoEncoder介绍 2. Applications of AutoEncoder in NLP 3. Recursive Autoencoder&#xff08;递归自动编码器&#xff09; 4. Stacked AutoEncoder&#xff08;堆栈自动编码器&#xff09; 1. 前言 今天主要介绍用在NLP中比较常见的AutoEncoder的模型&#xff0c;Recursi…

python语言语块句的标记_NLTK基础教程学习笔记(十一)

语块分解例子&#xff1a; from nltk.chunk.regexp import * import nltk test_sent"The prime minister announced he had asked the chief government whip, Philip Ruddock, to call a special party room meeting for 9am on Monday to consider the spill motion.&qu…

Excel的VBA连接数据库方法

Sub GetData() Dim strConn As String, strSQL As String Dim conn As ADODB.Connection Dim ds As ADODB.Recordset Dim col As Integer 清空电子表格的所有数据 Cells.Clear 连接数据库的字符串 strConn "ProviderSQLOLEDB.1;Persist Security InfoTrue;User IDnam…

Python基础4

本节内容 列表、元组操作字符串操作字典操作集合操作文件操作字符编码与转码 1. 列表、元组操作 列表是我们最以后最常用的数据类型之一&#xff0c;通过列表可以对数据实现最方便的存储、修改等操作 定义列表 1names [Alex,"Tenglan",Eric]通过下标访问列表中的元素…

Catalan数(卡特兰数)

公式&#xff1a; n < 2 时&#xff0c; f(n) n; n > 2时&#xff0c; f(n) (4n - 2) / (n1) * f(n-1) 1-100的卡特兰数列表如下&#xff1a; n f(n) 1 1 2 2 3 5 4 14 5 42 6 132 7 429 8 1430 9 …