Ладно, вот и все ... я работал над этим решением последние недели или около того, думал, что у меня его нет, но кажется, что что-то не так ... Вот мой код, и я приведу логическую разбивку:
::Programs
SET fox=C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe
SET spool=C:\WINDOWS\system32\PRNJOBS.vbs
::Directories
SET new=C:\PDF\New
SET printing=C:\PDF\Printing
SET finish=C:\PDF\Finish
SET errorfiles=C:\PDF\Error Files
::Important Files
SET syslog=C:\PDF\Script_Messages\PrintLOG.txt
SET emaillog=%tmp%\PrintLOG.txt
SET errlog=C:\PDF\Script_Messages\ErrorLOG.txt
SET emailerr=%tmp%\ErrorLOG.txt
CD "%new%"
MOVE /Y "*.pdf" "%printing%"
CD "%printing%"
FOR %%F IN (*.*) DO (
START "" /B "%fox%" -p "%%~fF"
FOR /F "USEBACKQ tokens=1*" %%A IN (`CSCRIPT "%spool%" -l ^| FIND /I "%%F"`) DO (
MOVE /Y "%%B" "%finish%\%%~nxf"
ECHO %%~nxF>>"%syslog%"
ECHO %%~nxF>>"%emaillog%"
IF EXIST "%%~fF" (
MOVE /Y "%%~fF" "%errorfiles%\%%~nxF"
ECHO *****ERROR PRINTING FILE***** %%~fF>>"%errlog%"
ECHO *****ERROR PRINTING FILE***** %%~fF>>"%emailerr%"
)
)
)
Перемещение файлов из папки NEW в папку PRINTING. Для каждого файла в папке для печати распечатайте его с помощью foxit, и для каждой записи в команде PRNJOBS.VBS, в которой я нахожу имя файла, переместите файл в папку «конец» и отобразите записи журнала для успеха, а затем, если файл все еще существует в его старом каталоге переместите файл в папку errorfiles и введите в журнал ошибки при печати.
Сценарий завершается без ошибок, но кажется, что в строке 22 сценарий завершается. Я проверяю файлы, и они никогда не перемещаются в каталог% finish%, поэтому он должен быть уничтожен в строке 22.
Если вы отправите файл в очередь печати, запустите
C:\WINDOWS\system32\PRNJOBS.vbs -l
в вашем CMD вы увидите, как эта команда отправляет свой стандартный вывод.