2014-01-11 42 views
1

我有一個,如果statment檢查,如果變量「根」等於「文件」但是當我做它說,它並不指望下面的命令。如何修復if語句以期望命令?

@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
Set Root = %%A 

設置一個變量root_的值_File(含空格;我寫了_,以清楚地顯示在哪裏) 你必須寫

Set Root=%%A 

甚至更​​好

Set "Root=%%A" 

另外,for變量是大小寫敏感的:%%a%%A

+0

三江源,這將是有意義的。 – TheMountainFurnaceGabriel