打印文件夹中的所有文件,然后将其删除

时间:2015-10-29 10:00:15

标签: vbscript

我正在创建一个基于网络的销售点,现在我对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

如果删除删除文件部分,则会打印所有文件。使用删除文件,它将在打印之前删除所有文件。

所以我想要的是打印文件,并在打印后将其删除。

1 个答案:

答案 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

然后在另一个循环中删除文件。