2013-08-14 2 views
0

저는 이것을 작성 했으므로 새 컴퓨터로 갈 때마다 주위를 뒤 틀 필요가 없습니다. 나는 그것을 읽음으로써 당신이 내가 성취하려고 노력하고있는 것을 말할 수 있기 때문에 당신에게 세부 사항을 지루하게하지 않을 것입니다.IF EXIST ... ELSE가 예상대로 실행되지 않습니다. IF EXIST를 실행하면 ELSE가 실행됩니다. ELSE가 실행됩니다.

중요한 문제는 그녀가 작동하지 않는다는 것입니다. 여기에서 구문 가이드 라인을 따르고 있습니다 ->http://ss64.com/nt/if.html < - 방망이를 클릭하면 터미널 화면에서 스크립트가 실행되지만 아무 것도 나타나지 않습니다.

뭔가 기본적인 것이지만 이것이 배치 파일이 필요한 처음 시간에 가까울 경우 실례합니다.

IF EXISTS C:\Users\{USER}\AppData\Local\Google\Chrome\Application\chrome.exe 
    (
    chrome 
    sleep1 
    start "javatut" "http://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html" 
    start "javaapi" "http://docs.oracle.com/javase/6/docs/api/" 
    ) 
ELSE 
    (
    iexplore 
    sleep1 
    start "javatut" "http://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html" 
    start "javaapi" "http://docs.oracle.com/javase/6/docs/api/" 
    ) 

답변

1

그러나 구문 지침을 정확하게 따르지 않습니다. 여러 줄 If/Else는 닫는 대괄호가 If와 같은 줄에 있고 다른 줄이 아닌 줄과 같아야합니다. 자바와 달리, 배치 파일은 공백을 고려합니다. 즉 유효한 배치 구문되지 않을 것 때문에

IF EXISTS C:\Users\{USER}\AppData\Local\Google\Chrome\Application\chrome.exe (
    chrome 
    sleep1 
    start "javatut" "http://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html" 
    start "javaapi" "http://docs.oracle.com/javase/6/docs/api/" 
) ELSE (
    iexplore 
    sleep1 
    start "javatut" "http://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html" 
    start "javaapi" "http://docs.oracle.com/javase/6/docs/api/" 
) 

나는 {USER} 당신의 예를 들어 그냥 자리 표시 자입니다 있으리라 믿고있어. 변수의 올바른 구문은 %USER%입니다.

또한 명령 줄에서 배치 파일을 실행 해보십시오. 이 경우 명령 창이 자동으로 닫히지 않고 구문 오류가 화면에 인쇄됩니다.

+0

아하, 고마워. 고맙지 만 고인이 존재하는 대신 고정되어있다. 나는 사용자를 말하기 위해 {USER} 만 쓰고 있었지만, % USER % 구문을 매우 편리하게 사용할 것이다. :). 당신의 도움을 주셔서 감사합니다. – BenniMcBeno

관련 문제