2014-01-11 76 views
0
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 
Goto Start 

REM These are the File.Commands 
:File 
If %Function%==Run Goto File_Run 
If %Function%==TestFor Goto File_TestFor 

在這個程序中,我有時會將變量「Function」留空,當我這樣做時會關閉它,因爲它將變量設置爲「ECHO is off」,然後當我嘗試比較它以防萬一它不是空白但它是空白的,它關閉。我該如何解決?如何應對批量空白變量?

當我運行這個程序,「功能」是空的輸出是: 後藤是意外的在這個時候。

然後關閉。

回答

1

嘗試在IF -lines doubleqoutes避免語法錯誤:

If "%Function%"=="Run" Goto File_Run 

您可能需要添加一行:

If "%Function%"=="" Goto Empty_Function 
+0

三江源,我會嘗試這一點,看看它是如何工作的。 – TheMountainFurnaceGabriel

+0

三江源,這確實解決問題。 – TheMountainFurnaceGabriel