我有一个if语句检查变量“root”是否等于'File'但是当我这样做时说它不期望以下命令。
@Echo Off
setLocal
:StartUpConfiguration
Cls
Color 0A
Title ACP
:Start
Set Input=nul
Set /P Input=[%CD%]
For /F "tokens=1,2* delims=." %%a In ('Echo %Input%') do (
Set Root = %%A
Set Function = %%B
Set Execute = %%C
)
If %Root%==File Goto File
If %Root%==File If %Function%==Exist Goto File.Exist
If %Root%==File If %Function%==Run Goto File.Run
Goto Start
当我将输入设置为“文件”时,它显示“此时Goto意外。”然后关闭我试图调试问题,但我无法搞清楚。我检查过“root”是否是一个环境变量,而不是。也许它与“setLocal”有关?
答案 0 :(得分:0)
Set Root = %%A
将变量root_
设置为值_File
(带空格;我写_
以清楚显示位置)
你必须写
Set Root=%%A
甚至更好
Set "Root=%%A"
for
变量也区分大小写:%%a
不是%%A