批处理文件无法正常工作,找不到我的错误[关闭]

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]吗? %=%

前后没有空格=

【讨论】:

你应该删除无用的%=% 后缀,因为它没有任何作用......

以上是关于批处理文件无法正常工作,找不到我的错误[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

批处理文件运行时Python找不到文件夹

FTP命令“get * .txt”错误“550找不到文件”

我的文件无法正常工作并从 C++ 文件中读取上下文 [关闭]

批处理文件在启动时无法正常工作

如果我从新的命令提示符重新运行,批处理文件无法正常工作

如何在以下批处理文件代码中抑制错误流