批处理文件无法正常工作,找不到我的错误[关闭]
Posted
技术标签:
【中文标题】批处理文件无法正常工作,找不到我的错误[关闭]【英文标题】: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
命令更简单、更安全。
【参考方案1】:
试试SET /p INPUT=你想更新所有[Y/N]吗? %=%
前后没有空格=
【讨论】:
你应该删除无用的%=%
后缀,因为它没有任何作用......以上是关于批处理文件无法正常工作,找不到我的错误[关闭]的主要内容,如果未能解决你的问题,请参考以下文章