У меня есть сценарий PowerShell:Как узнать, является ли Windows spooler empy, из .bat?
$objPrintQueues = Get-WmiObject Win32_PerfFormattedData_Spooler_PrintQueue | Select Jobs
$queuesCounter=0
$queuesDetector=0
foreach($queue in $objPrintQueues) { $queuesCounter=$queuesCounter+$queue.Jobs }
if ($queuesCounter > 0) { $queuesDetector=1 }
echo $queuesDetector
Он обнаруживает, есть ли какие-то рабочие места в очереди печати (в спулере) или принтеры свободны. Мне нужна такая же функциональность из .bat (пакетного) файла. Является ли это возможным?
Я не думаю, что это возможно с использованием чистого пакетного сценария; единственная идея, которую я имею, это «wmic PrintJob», но я не знаю, как результат может быть полезен для вашей задачи ... Что вы узнали до сих пор? – aschipfl
Я знаю, что может быть несколько способов SNMP, но применимо ли это для локальных принтеров? И я знаю, что API печати Spooler имеет функцию EnumJobs, но я не знаю, могу ли работать с диспетчером печати или нет. И я не могу найти четкие примеры: все примеры касаются остановки, очистки, запуска и перезапуска буферизации, а не того, как проверить пустоту. – Natalia
Вы имеете в виду [tag: batch-file], правильно? обратите внимание, что [tag: bash] - это нечто совершенно другое ... – aschipfl