在批处理文件中使用 if 语句

问题描述 投票:0回答:1

我的“if”语句不起作用。我使用以下命令从用户那里接收值:

set /p MAP=Enter map filename:

然后我用“if”来做一些工作:

:mylabel
if %MAP% neq "" ( do something1... )
if %MAP% equ "" ( do something2... )
pause
goto :eof

当用户输入某些内容时,我使用第一个“如果”,第二个“如果”是用户未输入任何内容。如果用户键入某些内容,如果他只是按 Enter 键(不键入任何内容),则该代码将起作用,而第二个 if 则不起作用(不执行任何操作)。我不明白为什么第二个 if 语句会起作用?

if-statement batch-file
1个回答
0
投票

用户按下 Enter 键可能会返回一个 Enter 字符而不是空字符串,因此您可能需要修剪 %MAP% 的内容。此示例可能有助于指导您(顶行修剪该值):

set "MAP=!MAP: =!"
if defined MAP (echo Do something1...) 
else (echo Do something2...)
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.