Я хочу отправить файлы спула на принтер из папки спула один за другим и после обработки каждого файла он будет перемещен в другую папку или удалит его. Но когда я пытаюсь запустить ниже пакетного файла, он напрямую перемещает файлы спула, не отправляя на принтер, что связано с пакетной обработкой.Хотите выполнить две команды в пакетном файле Windows по одному
for %%f in (C:\WINDOWS\system32\spool\PRINTERS\*.SPL) do (
echo %%~nf
start "" E:\spool\xyz\tp.exe "C:\WINDOWS\system32\spool\PRINTERS\%%~nf.SPL" "HP Printer"
move "C:\WINDOWS\system32\spool\PRINTERS\%%~nf.SPL" d:\%%~nf.txt
)
SO нужна любая альтернативная опция без использования окон PowerShell.
Заранее спасибо.
Зачем использовать 'START' вообще? Просто команда 'E: \ spool \ xyz \ tp.exe и т. Д.' Заставит командный файл ждать. –
@ J.Baoby Я попробовал ваше решение, но файлы спула не были отправлены на принтер, который он переместил в другое место. И программа abot tp.exe просто отправляет файл спула на принтер для печати ничего, чтобы иметь дело с ним. Я попробовал с powershell, он отлично работает с PoweShell. Но некоторые старые Windows-ПК не имеют powershell. Так что это нужно делать в пакетном файле. –
@ dev.Sumit это сработало для меня с другим исполняемым файлом. Вы уверены, что 'tp.exe' всегда выходит, как только файл спула фактически отправлен? Может ли это запустить другой процесс, который будет подключаться к принтеру и отправлять файлы, а не отправлять его сам? –