【发布时间】:2015-11-29 04:49:04
【问题描述】:
所以我正在尝试用一些集合和 ifs 制作一个小批量程序,看起来很容易对吧?显然,你不能像这样使用“set”和“if”。
@echo off
setlocal enabledelayedexpansion
cls
set variableTrue EQU 1
然后继续代码,稍后在程序中执行此操作。
If %variableTrue% EQU 1 goto next
请注意,我也尝试过使用感叹号。 加上感叹号,就好像它完全忽略了这个陈述,即使它是真的,它也会照常继续。使用百分号,它在崩溃之前说得非常快 此时预计不会出现“1”。 或者类似的东西,就像我说的那样,它几乎没有停留半秒钟。 我一直认为只要没有冲突的变量,你就可以这样做。
:start
@echo off
setlocal enabledelayedexpansion
title test
color a
cls
:favnum
cls
echo What is your favorite number?
set /p fn=Favorite Number
If "!fn!" NEQ 13 goto thanks
If "!fn!" EQU 13 goto setvar
:setvar
set "coolestNum==1"
:thanks
cls
If "!coolestNum!"== 1 goto cool
echo Thanks
pause
goto :eof
:cool
echo cool
pause
goto :eof
这不会产生错误,它只是忽略该语句并照常进行。
更新: 修复错误后,这仍然不起作用。 当我使用感叹号时,它会忽略该行,而当我使用百分号时,它会说: "
“此时预计没有 1”
【问题讨论】:
-
要查看错误,只需删除
@echo off并从命令提示符控制台手动运行批处理文件。
标签: batch-file if-statement cmd set command