2013-07-22 3 views
0

나는려고 코드 섹션으로 작업 한 다음 작업을하기 :윈도우 배치 파일 ELSE 오류

echo Date %dayCnt% day(s) before %DBName%_%CurDate% is %DBName%_%mm%_%dd%_%yyyy:~2,2% 
rem ============================ 
If exist %Destination%%DBName%_%CurDate% (
    echo 1 
    If exist %Destination%%DBName%_%mm%_%dd%_%yyyy:~2,2% (
    echo 2 
    Echo %Destination%%DBName%_%mm%_%dd%_%yyyy:~2,2% exists! 
    echo 3 
) ELSE (
    echo 4 
    Echo No %Destination%%DBName%_%mm%_%dd%_%yyyy:~2,2% here today. Maybe we make one? 
    echo 4 
) ELSE (
    echo 5 
    Echo No %Destination%%DBName%_%CurDate% here 
    echo 6 
)) 

내가 주 얻을 출력 :

Date 3 day(s) before 31499DB_07_22_13 is 31499DB_07_19_13 
ELSE was unexpected at this time. 

을 나는 ELSE을 떨어 뜨린 경우 (다음 줄로 가면 나는보고 싶은 것에 더 가까운 것을 얻을 수있다. 코드는 다음과 같다 :

echo Date %dayCnt% day(s) before %DBName%_%CurDate% is %DBName%_%mm%_%dd%_%yyyy:~2,2% 
rem ============================ 
rem dir %Destination%%DBName%_%CurDate% 
If exist %Destination%%DBName%_%CurDate% (
echo 1 
    If exist %Destination%%DBName%_%mm%_%dd%_%yyyy:~2,2% (
    echo 2 
    Echo %Destination%%DBName%_%mm%_%dd%_%yyyy:~2,2% exists! 
    echo 3 
) 
    ELSE (
    echo 4 
    Echo No %Destination%%DBName%_%mm%_%dd%_%yyyy:~2,2% here today. Maybe we make one? 
    echo 4 
) 
ELSE (
echo 5 
Echo No %Destination%%DBName%_%CurDate% here 
echo 6 
)) 

출력은 다음과 같습니다.

Date 3 day(s) before 31499DB_07_22_13 is 31499DB_07_19_13 
1 
2 
x:31499DB_07_19_13 exists! 
3 
'ELSE' is not recognized as an internal or external command, 
operable program or batch file. 
4 
No x:31499DB_07_19_13 here today. Maybe we make one? 
4 
'ELSE' is not recognized as an internal or external command, 
operable program or batch file. 
5 
No x:31499DB_07_22_13 here 
6 
'))' is not recognized as an internal or external command, 
operable program or batch file. 

이 오류없이 실행하려면 어떻게해야합니까?

덕분에 너무 많은, 샘

+1

아무런 의미가없는 ELSE 다음에 사용자가 있습니다. –

+0

의견에 감사드립니다. 나는 이러한 IF 문을 중첩 시키려고 시도하므로, 두 번째 발생한 IF를 첫 번째 ELSE와 처음 발생하는 ELSE로 묶습니다. 최초 발생 IF는 두 번째 발생한 ELSE에 대응한다. BTW, 내 메시지의 형식을 다시 한 알렉스에게 감사드립니다. 편집 할 때 정리하려고 할 때 :-) – Sam

+0

후속 if/else 문을 작성하여 내 문제를 해결할 수있는 방법을 찾았습니다. 중첩 된 if 문을 꺼내서 이런 식으로 일할 수 있다고 생각합니다. 도움을 주셔서 다시 한 번 감사드립니다. – Sam

답변

0

당신은 ) 누락되었습니다.

echo Date %dayCnt% day(s) before %DBName%_%CurDate% is %DBName%_%mm%_%dd%_%yyyy:~2,2% 
rem ============================ 
If exist %Destination%%DBName%_%CurDate% (
    echo 1 
    If exist %Destination%%DBName%_%mm%_%dd%_%yyyy:~2,2% (
     echo 2 
     Echo %Destination%%DBName%_%mm%_%dd%_%yyyy:~2,2% exists! 
     echo 3 
    ) ELSE (
     echo 4 
     Echo No %Destination%%DBName%_%mm%_%dd%_%yyyy:~2,2% here today. Maybe we make one? 
     echo 4 
    ) 
) ELSE (
    echo 5 
    Echo No %Destination%%DBName%_%CurDate% here 
    echo 6 
)