-6ren">
gpt4 book ai didi

windows - 使用 IF 批量过滤多个结果

转载 作者:行者123 更新时间:2023-12-01 23:51:56 28 4
gpt4 key购买 nike

我正在编写一个复制 CMD 的批处理文件,但更加自定义。我想做的是扫描 %input% 以获得导致不同操作的多个不同结果。为了帮助您理解我的意思,我尝试这样做:

set /p input="%cd%>"

if "%input%" == "cls" (

GOTO reset

) else (

if "%input%" == freespace (

GOTO freespace

) else (
title %input%

%input%

GOTO A

这只会导致运行批处理文件的 CMD 窗口崩溃。无论如何,我可以使用 IF 语句对这两个响应(或可能更多)进行排序吗?我意识到这与其他称为“批量使用多个 if 语句”的问题类似,但它们与我尝试放入 IF 语句的格式不同。

最佳答案

您似乎正在通过单击批处理来运行它,这意味着您不会看到错误消息。最好从命令提示符运行批处理,以便消息可见且持久。

您提供的代码至少存在两个问题。

首先是您没有关闭 else 子句的括号,因此批处理末尾有两个待处理的右括号。

格式:

if x=y (dothis
) else (
if p==q (dosomethingelse
) else (
dosomethingelseentirely
)
)

第二个问题是 if 是非常字面的字符串匹配。它包含要匹配的字符串中的引号,因此

if "%input%" == freespace (

永远不可能为真,因为 input 被引用,但 freespace 不是(与第一个 if 中的 cls 不同) )

顺便说一句 - if/i ... 将执行不区分大小写的比较。

关于windows - 使用 IF 批量过滤多个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43852613/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com