windows cmd比较大小

本文介绍了一种使用批处理脚本比较两个数字大小的方法,并提供了具体的脚本示例。通过不同的条件判断语句(如EQU、NEQ、LSS、LEQ、GTR、GEQ),脚本能够准确地判断并输出两个输入数字之间的大小关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 EQU - 等于

  NEQ - 不等于

  LSS - 小于

  LEQ - 小于或等于

  GTR - 大于

  GEQ - 大于或等于 

比较两个数的大小的批处理,喜欢做批处理的网友可以学习或研究一下:

比较大小.bat的源程序如下:

 

@echo off

set /p 第一个数=请输入第一个数

set /p 第二个数=请输入第二个数

if %第二个数% lss %第一个数% goto hero

if %第二个数% equ %第一个数% goto her

if %第二个数% gtr %第一个数% goto he

pause

exit

:hero

echo 第一个数比第二个数大!

pause

%0

:he

echo 第一个数等于第二个数!

pause

%0

:he

echo 第一个数比第二个数小!

pause

%0

 

 

比较大小另版.bat 的源程序如下:

 

@echo off

set /p 第一个数=请输入第一个数

set /p 第二个数=请输入第二个数

if %第二个数% lss %第一个数% goto hero

if %第二个数% equ %第一个数% goto her

if %第二个数% gtr %第一个数% goto he

:hero

echo 第一个数比第二个数大!

pause

goto end

:her

echo 第一个数等于第二个数!

pause

goto end

:he

echo 第一个数比第二个数小!

pause

goto end

:end

exit

 

命令行下如何用批处理比较数据大小?

━━━━━━━━━━━━━━━━━━━━━━━━━━

 

set var1=3

set var2=2

if %var1% GTR %var2% goto ...

 

if /?:

执行批处理程序中的条件处理。

IF [NOT] ERRORLEVEL number command

IF [NOT] string1==string2 command

IF [NOT] EXIST filename command

   NOT             指定只有条件为 false 的情况下,Windows 才

                   应该执行该命令。

   ERRORLEVEL number 如果最后运行的程序返回一个等于或大于

                   指定数字的退出编码,指定条件为 true。

   string1==string2   如果指定的文字字符串匹配,指定条件为 true。

   EXIST filename 如果指定的文件名存在,指定条件为 true。

   command           如果符合条件,指定要执行的命令。如果指定的

                   条件为 FALSE,命令后可跟一个执行 ELSE 

                   关键字后的命令的 ELSE 命令。

ELSE 子句必须在 IF 之后出现在同一行上。例如:

IF EXIST filename. (

       del filename.

) ELSE (

       echo filename. missing.

)

因为 del 命令需要用一个新行终止,以下子句不会有效:

IF EXIST filename. del filename. ELSE echo filename. missing

由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也

不会有效:

IF EXIST filename. del filename.

ELSE echo filename. missing

如果都放在同一行上,以下子句有效:

IF EXIST filename. (del filename.) ELSE echo filename. missing

如果命令扩展被启用,IF 会如下改变:

IF [/I] string1 compare-op string2 command

IF CMDEXTVERSION number command

IF DEFINED variable command

其中, compare-op 可以是:

EQU - 等于

NEQ - 不等于

LSS - 小于

LEQ - 小于或等于

GTR - 大于

GEQ - 大于或等于

  而 /I 开关(如果指定)说明要进行的字符串比较不分大小写。

  /I 开关可以用于 IF 的 string1==string2 的形式上。这些比较都是通用的;原因是,如果 string1 和 string2 都是由数字组成的,字符串会被转换成数字,进行数字比较。

  CMDEXTVERSION 条件的作用跟 ERRORLEVEL 的一样,除了它是在跟与命令扩展有关联的内部版本号比较。第一个版本是 1。每次对命令扩展有相当大的增强时,版本号会增加一个。

  命令扩展被停用时,CMDEXTVERSION 条件不是真的。

  如果已定义环境变量,DEFINED 条件的作用跟 EXISTS 的一样,除了它取得一个环境变量,返回的结果是 true。

  如果没有名为 ERRORLEVEL 的环境变量,%ERRORLEVEL%会扩充为 ERROLEVEL 当前数值的字符串表达式;否则,您会得到其数值。

  运行程序后,以下语句说明 ERRORLEVEL 的用法:

goto answer%ERRORLEVEL%

:answer0

echo Program had return code 0

:answer1

echo Program had return code 1

您也可以使用以上的数字比较:

IF %ERRORLEVEL% LEQ 1 goto okay

如果没有名为 CMDCMDLINE 的环境变量,%CMDCMDLINE%将在 CMD.EXE 进行任何处理前扩充为传递给 CMD.EXE 的原始命令行;否则,您会得到其数值。

如果没有名为 CMDEXTVERSION 的环境变量,%CMDEXTVERSION% 会扩充为 CMDEXTVERSION 当前数值的字串符表达式;否则,您会得到其数值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值