2014-01-11 4 views
1

나는 변수 "루트" '파일에 동일한 경우 체크는 IF 한 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 

을 내가 입력 설정하면"파일을 " "이 시간에 예기치 않은 고토"라고 말한 다음 닫습니다. 문제를 디버그하려했지만 그걸 알아낼 수 없습니다. "루트"가 환경 변수인지 아닌지 확인했습니다. 아마도 그렇지 않습니다. ?이

답변

0
Set Root = %%A 

가 공백 (값 _File에 변수 root_를 설정 "SETLOCAL"함께 할 수있는 뭔가가, 나는 012을 썼다 당신은

Set Root=%%A 

또는

Set "Root=%%A" 

더 나은를 작성해야 곳) 는 또한 for 변수는 대소 문자를 구분 명확하게 표시합니다 : %%a는 그 감각을 만들 것, %%A

+0

감사합니다 아닙니다. – TheMountainFurnaceGabriel

관련 문제