2014-01-11 2 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 

이 프로그램에서 변수 "함수"가 비어있는 경우가 있습니다. 변수를 "에코 꺼짐"으로 설정했기 때문에 닫히고, 그렇지 않은 경우 비교하려고 할 때 닫힙니다. 공백이지만 비어 있으면 닫힙니다. 이 문제를 어떻게 해결할 수 있습니까?빈 변수를 일괄 처리하는 방법은 무엇입니까?

이 프로그램을 실행하고 "기능"이 비어있는 경우 출력은 다음과 같습니다. 현재이 시점에서 고토가 발생했습니다.

그런 다음 닫습니다.

답변

1

는 구문 오류를 피하기 위해 IF -lines에 doubleqoutes을 시도 :

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

당신은 라인을 추가 할 수 있습니다 :

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

감사합니다, 나는이 시도하고 어떻게 작동하는지 볼 수 있습니다. – TheMountainFurnaceGabriel

+0

감사합니다. 실제로 문제가 해결되었습니다. – TheMountainFurnaceGabriel

관련 문제