【问题标题】:Batch file doesn't work properly, can't find my mistake [closed]批处理文件无法正常工作,找不到我的错误[关闭]
【发布时间】:2022-01-10 21:42:23
【问题描述】:

我只是想在批处理文件中编写一个小脚本来学习一些编程。但是我为输入输入什么并不重要,我得到的只是Invalid Option 输出......我现在搜索了这么久的错误并没有找到任何东西......希望有人可以帮助我,提前致谢!

@ECHO OFF
::This script will check if there are any available updates for software via Winget and will let you update all
ECHO Searching for updates...
ECHO =======================================================================
winget upgrade
ECHO =======================================================================
:ask
set INPUT = 
SET /p INPUT = Do you want to update all[Y/N]? %=%
IF /i "%INPUT%" == "Y" GOTO yes
IF /i "%INPUT%" == "N" GOTO no
ECHO Invalid Option
GOTO ask
:yes
ECHO Udating all available packages...
winget upgrade --all
GOTO end
:no
GOTO end
:end
cmd /k

【问题讨论】:

  • = 运算符是分隔变量名称和值的命令标记。空格包含在变量名和值中 - 因此您永远不会定义 Input,而是使用尾随空格定义 input 。对于单字符输入,使用Choice 命令更简单、更安全。

标签: batch-file


【解决方案1】:

试试SET /p INPUT=你想更新所有[Y/N]吗? %=%

前后没有空格=

【讨论】:

  • 你应该删除无用的%=% 后缀,因为它没有任何作用......
猜你喜欢
  • 1970-01-01
  • 2016-01-26
  • 1970-01-01
  • 2019-03-04
  • 1970-01-01
  • 1970-01-01
  • 2014-11-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多