-2

我有一个 PowerShell 脚本:

    $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(批处理)文件中的相同功能。可能吗?

4

1 回答 1

0

这取决于您为什么在 .bat 文件中需要它,如果是因为您用来调用软件的程序仅支持运行 .bat 文件而不支持 .ps1 文件,那么您可以编写一个运行 powershell 的 .bat 。 exe 并调用您的脚本。如果是因为安全策略阻止您在正在使用的系统上运行 PowerShell,那么假设您无法说服您的安全人员允许您运行签名脚本,这将变得更加困难。这很可能通过 WMI 脚本编写,但我只能向您指出有关如何创建该类型代码的 MicroSoft 资源 - https://technet.microsoft.com/en-us/library/ee156560.aspx。希望那些对你有帮助。

于 2016-10-27T14:42:05.457 回答