2012-11-28 4 views
2

"이 시간 배치 파일에서 ..unexpected"if condition (if %fileSize% == 9363)오류가 나는 오류주고있다 배치 파일의 코드를

내 코드를

56 was unexpected at this time 

것은 :

for %%F in ("site_data.csv") 

    do set "fileSize=%%~zF" 

    if %fileSize% == 9363 
    (
     pause 
     set sum2=%TIME:~3,2% 

     echo sum2=%sum2% 
     pause 

     if /f %sum2% gtr %sum1% 
     (
     goto :p3 
    ) 

     goto :p2 
    ) 

무엇이 문제인지 이해하지 못합니까? 그건 또 다른 문제가 될 수 있으므로,

IF /? 

그리고 SUM1 변수는 주어진 예제 코드에 존재하지 않는 다음 "/ F"매개 변수가 존재하지 않는

+0

당신의 배는 비교가 예기치 않은 토큰을 가지고 같습니다. 그것은 특정 데이터 유형을 기대하며 예상치 못한 무언가를주었습니다. 비교에 사용 된 각 변수의 데이터 유형을 두 번 점검하고 두 변수가 양립성이 있는지 확인하십시오. 각 변수가 다음과 같은 문자열이되도록하십시오 :'if "% fileSize % =="9363 "' –

답변

1

는 명령의 도움말을 참조하시기 바랍니다.

이 시도 :

@Echo OFF 
for %%F in ("site_data.csv") do (set "fileSize=%%~zF") 

IF %fileSize% EQU 9363 (set /A sum2=%TIME:~3,2%) 
if %sum2% gtr %sum1% (goto :p3) ELSE (goto :p2) 
+0

do 루프의 닫는 괄호가 예제의 끝 뒤에 와야하므로 내부 루프의 코드가 실행됩니다 * 지연된 확장 *과'! FileSize! '를 사용하여보아야 할 수도 있습니다. – SeanC

+0

내 예제의 괄호가 나쁜 이유는 무엇입니까? FOR은 파일의 내용을 처리하는 것이 아니라 단지 CSV 파일의 파일 크기를 한 번만 확인하면됩니다. 사용자가 원하는 내용이거나 적어도 사용자가 게시 한 내용을 예로들 수 있습니다. 예를 들어 모두 좋을 것 같습니다. 의견을 보내 주셔서 감사합니다. – ElektroStudios