wmdlinuxshell 2024-07-29 14:37 采纳率: 1.6%
浏览 1

批处理if判断大小失败


rem unit:GB
set capCsize = 321
set capCfree = 246
 

if %capCsize% gtr 300 (goto disk)
报错如下

D:\>call caption.cmd

D:\>rem unit:GB

D:\>set capCsize = 321

D:\>set capCfree = 246
300 was unexpected at this time.
D:\>if  gtr 300 (
D:\>

  • 写回答

1条回答 默认 最新

  • 何事_ 2024-07-29 14:37
    关注

    引自免费微信小程序:皆我百晓生

    你在bash脚本中使用了一些非标准的语法。在你的脚本中,你应该注意到if语句的用法需要改进。你的错误似乎是在使用 if%capCsize% 之间缺少空格。另外,bash中的 goto 命令不是标准的bash命令,它更像是在Windows批处理文件中使用的命令。如果你在bash中运行脚本,应该使用 exitreturn 命令来退出脚本或函数。如果你在Windows批处理文件中运行脚本,你应该使用 goto 命令。此外,比较运算符 gtr 应该与变量之间有空格。正确的语法应该是 %capCsize% gtr 300。所以你的脚本应该像这样写:

    如果你是在Windows批处理文件中运行脚本:

    rem unit:GB
    set capCsize=321
    set capCfree=246
    
    if %capCsize% gtr 300 (goto disk) else (echo capCsize is not greater than 300)
    

    如果你是在bash脚本中运行脚本: 你可以使用以下代码:如果某个值大于另一个值,执行某个命令或一组命令的逻辑判断语句:

    #!/bin/bash
    # unit:GB
    capCsize=321
    capCfree=246
    
    if [ $capCsize -gt 300 ]; then
        echo "Disk size is greater than 300GB"
    else
        echo "Disk size is not greater than 300GB"
    fi
    

    上述代码是Bash shell中的逻辑判断语法。你可以使用这段代码在你的Bash环境中进行更改以满足你的需求。对于超过部分的文本 "Disk size is greater than 300GB",你可以根据需要替换为你自己的内容或代码。希望这对你有所帮助!

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月29日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?