如何批量处理空白变量?

时间:2014-01-11 21:33:29

标签: batch-file error-handling

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”,然后当我尝试比较它时,以防它不是空白但是它是空白的,它关闭了。我该如何解决这个问题?

当我运行此程序并且“Function”为空时,输出为: Goto此时出人意料。

然后它关闭。

1 个答案:

答案 0 :(得分:1)

尝试使用IF行中的doubleqoutes来避免语法错误:

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

您可能想要添加一行:

If "%Function%"=="" Goto Empty_Function