我正在创建一个基于网络的销售点,现在我对VBScript感到困惑。
脚本应该打印所选文件夹中的所有文件,之后我想删除打印的文件。 所选文件夹仅包含要打印的PDF文件。
这是我目前的代码:
TargetFolder = "C:\Users\pos\Downloads\"
If TargetFolder > "" Then
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(TargetFolder)
Set colItems = objFolder.Items
For Each objItem in colItems
objItem.InvokeVerbEx("Print")
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.GetFile(TargetFolder+objItem)
MyFile.Delete
Next
Else
Wscript.Quit
End If
如果删除删除文件部分,则会打印所有文件。使用删除文件,它将在打印之前删除所有文件。
所以我想要的是打印文件,并在打印后将其删除。
答案 0 :(得分:0)
您可以在删除文件之前检测打印机作业队列是否为空。
Do
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select Document from Win32_PrintJob", , 48)
WScript.Sleep(1000)
Loop While colItems.Count > 0
然后在另一个循环中删除文件。