내가 배치 파일에 filewatcher 만들려는 배치 파일에 파일을 이동, 압축을 해제합니다 : 폴 데라에있는 파일에 대한Filewatcher 실행하고
시계 (.ZIP) → (같은 이름) folderB에 압축을 풀고 → 배치 파일을 실행 → 더 많은 들어오는 .zip 파일을 위해 동일하게 수행하십시오.
나는 내가 당신의 코드에 두 가지 주요 문제를보고 좀 더 도움:STARTPROCESS
CD /D %ROOT_DIR%
FOR /F "tokens=1-2 delims=." %%G in ('dir *.zip /b') do
(
REM unzip file
%SEVENZIP_PATH%\7z.exe x "%ROOT_DIR%" -o%UNZIP_FOLDER% -y >> %LOG%
echo %%G -- unzip complete
REM run batch1
:BATCH1
REM check ERROR from batch1 log --> i have a problem from here nothing below works
findstr /M "ERROR" %UNZIP_FOLDER%\%%G\Logs\*.log
If %ERRORLEVEL%==0 echo Error Found
move /Y "%UNZIP_FOLDER%\%%G" "%Folder1% >> %LOG%
goto STARTPROCESS
else
(
echo %%G Batch1 OK
goto BATCH2
)
REM run batch2
:BATCH2
REM check ERROR from batch2 log
findstr /M "Total Count : 0" %UNZIP_FOLDER%\%%G\Data\*_Output.log
If %ERRORLEVEL%==0 echo %%G Batch2 OK
goto STARTPROCESS
else
(
echo ERROR
move /Y "%UNZIP_FOLDER%\%%G\fileA.xml" "%UNZIP_FOLDER%\bin >> %LOG%
%SEVENZIP_PATH%\7z.exe a "%UNZIP_FOLDER%\%G%" -o%ZIP_FOLDER% -y >>%LOG%
)
)
timeout 60
goto STARTPROCESS
cmd /k
그것은했다.! 하지만 또 다른 문제가 발견되었습니다 : 내가 %% G를 메인 루프에서 서브 루틴으로 넘길 때 (OK를 지나치지만 "\"가 빠지기 때문에) 에러가납니다. "findstr/M"KO "% UNZIP_FOLDER % \ % 1 \ Logs \ % 1.log"가 'd : \ LocalData \\ Desktop \ unzip'이됩니다. testfile \ Logs "testfile.log" – PrimeSuspect
누락 된 부분은 두 번 추가 \\, % 1에 \\를 추가했는데 예상대로 작동했습니다 !! – PrimeSuspect