[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 【已解决】求助if语句运行提示找不到参数

本帖最后由 chanjhon 于 2017-11-29 17:30 编辑

想写个自动关机的脚本的,因为没写过就找百度了解了下,写了如下代码:
  1. @echo off
  2. echo 请输入几分钟后关机!
  3. echo 如果您不知道想输入的几个小时是多少分钟的话,
  4. echo 请输入 "1" 来打开计算器
  5. echo 如果不需要请直接输入时间!
  6. :Cal
  7. set /p Tm = 输入数字:
  8. if "%Tm%"=="1" (
  9. start calc&&goto Cal
  10. ) else (
  11. set /a Tm = %Tm%*60&&goto Act
  12. )
  13. :Act
  14. shutdown /s /t %Tm%
  15. pause > nul
复制代码
但是运行就提示找不到操作数,请前辈们看看错在哪儿!
还有要是改成
  1. if %Tm% equ 1
复制代码
就提示此处不该有1是怎么回事?

回复 2# lifei259


    原来是
  1. set /p
复制代码
参数与等于号之间不能有空格,这样用equ判断也正确的,感谢!!

TOP

  1. @echo off
  2. echo 请输入几分钟后关机!
  3. echo 如果您不知道想输入的几个小时是多少分钟的话,
  4. echo 请输入 "1" 来打开计算器
  5. echo 如果不需要请直接输入时间!
  6. :Cal
  7. set /p Tm=输入数字:
  8. if "%Tm%"=="1" (
  9. start calc&&goto Cal
  10. ) else (
  11. set /a Tm = %Tm%*60&&goto Act
  12. )
  13. :Act
  14. shutdown /s /t %Tm%
  15. pause > nul
复制代码

TOP

返回列表