0
폴더의 새 파일을 확인하는 작은 스크립트가 있는데 모든 PDF 파일이 인쇄됩니다. 인쇄가 실패 할 때마다 변수 %errorlevel%
은 1이 될 것입니다. goto와 레이블을 사용하여 if 문을 사용하여 작동하도록하려하지만 무슨 일이 일어나고 있는지 파악할 수 없습니다.오류가 발생하면 다른 기능을 호출합니다. Windows Batch
스크립트는 다음과 같습니다
:printfile
echo printing %1
set fname=%1
set fullFname="print\STW_Print\STW_Printer_TEST\%fname:~1%
echo ERLVL: %errorlevel%
"C:\Program Files (x86)\SumatraPDF\SumatraPDF.exe" -silent -print-to "\\s8011\OPS_2055_IS" %
echo ERLVL: %errorlevel%
set logFilename=%DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4%
if %errorlevel% neq 0 goto error
echo Moving %fname% to printed
move %fullFname% STW_printed
echo %time% %1 Printed on STWTEST and Moved>> Printlogs\TEST-%logFilename%-log.txt
goto eof
:error
echo Moving %fname% to failed
move %fullFname% STW_failed
echo %time% %1 Failed on STWTEST and Moved>> Printlogs\TEST-%logFilename%-log.txt
GOTO eof
:eof
스크립트 호출 라인 : 그것은 움직이지 왜
printing "BADTEST (2) - Copy.pdf"
ERLVL: 0
ERLVL: 1
Moving "BADTEST (2) - Copy.pdf" to printed
1 file(s) moved.
printing "BADTEST (2).pdf"
ERLVL: 0
ERLVL: 1
Moving "BADTEST (2).pdf" to printed
1 file(s) moved.
printing "BADTEST (3) - Copy.pdf"
ERLVL: 0
ERLVL: 1
Moving "BADTEST (3) - Copy.pdf" to printed
1 file(s) moved.
내가 알아낼 수 없습니다 :
for /f "tokens=*" %%i in ('dir print\STW_Print\STW_Printer_TEST\*.pdf /b') do (call :printfile "%%i")
그리고 내 출력을 실패했습니다. 어떤 도움이라도 대단히 감사하겠습니다!