VBScript, mehrere Dateien auf einem speziellen Windows-Drucker ausgeben (Druckername im Script angeben)
Das folgende Script habe ich aus einem älteren Beitrag in diesem Forum kopiert. Leider weiß ich nicht, wie es mir möglich ist, die Ausgabe auf einen speziellen Windows-Drucker (z.B. HP 2014) zu leiten. Die Druckausgabe erfolgt bisher immer auf dem Windows-Standarddrucker. Ich hoffe, dass mir irgendwer helfen kann. Danke!!!
'PrintAll.vbs
sSourceFolder = "P:\"
If WScript.Arguments.Count > 0 Then
sSourceFolder = WScript.Arguments(0)
End If
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(sSourceFolder) Then
WScript.Echo "Ordner " & sSourceFolder & " nicht verfügbar!"
WScript.Quit(2)
Else
bPrintetd = False
Set oShellApp = WScript.CreateObject("Shell.Application")
For Each oFile In fso.GetFolder(sSourceFolder).Files
If InstrRev(oFile.Name, ".") Then
If LCase(Mid(oFile.Name, InstrRev(oFile.Name, "."))) = ".pdf" Then
oShellApp.ShellExecute oFile.Path, "", "", "print", 0
bPrinted = True
WScript.Sleep(5180)
End If
End If
Next
Set oShellApp = Nothing
If Not bPrinted Then
WScript.Echo "Kein Dokument zum Drucken gefunden!"
WScript.Quit(1)
End If
End If
'PrintAll.vbs
sSourceFolder = "P:\"
If WScript.Arguments.Count > 0 Then
sSourceFolder = WScript.Arguments(0)
End If
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(sSourceFolder) Then
WScript.Echo "Ordner " & sSourceFolder & " nicht verfügbar!"
WScript.Quit(2)
Else
bPrintetd = False
Set oShellApp = WScript.CreateObject("Shell.Application")
For Each oFile In fso.GetFolder(sSourceFolder).Files
If InstrRev(oFile.Name, ".") Then
If LCase(Mid(oFile.Name, InstrRev(oFile.Name, "."))) = ".pdf" Then
oShellApp.ShellExecute oFile.Path, "", "", "print", 0
bPrinted = True
WScript.Sleep(5180)
End If
End If
Next
Set oShellApp = Nothing
If Not bPrinted Then
WScript.Echo "Kein Dokument zum Drucken gefunden!"
WScript.Quit(1)
End If
End If
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 147095
Url: https://administrator.de/forum/vbscript-mehrere-dateien-auf-einem-speziellen-windows-drucker-ausgeben-druckername-im-script-angeben-147095.html
Ausgedruckt am: 17.04.2025 um 19:04 Uhr
2 Kommentare
Neuester Kommentar
Hi,
also die konkrete Antwort auf deine Frage hab ich nicht.
Als Workaround könntest du aber einfach zuvor den Standardrucker ändern und danach wieder zurückstellen.
Hier ein kurzes Beispiel zum Standarddrucker setzen:
Gruß
Bernd
also die konkrete Antwort auf deine Frage hab ich nicht.
Als Workaround könntest du aber einfach zuvor den Standardrucker ändern und danach wieder zurückstellen.
Hier ein kurzes Beispiel zum Standarddrucker setzen:
Set WMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colDrucker = WMIService.ExecQuery("SELECT * FROM Win32_Printer WHERE Name = 'DeinDruckerName'")
For Each Drucker in colDrucker
Drucker.SetDefaultPrinter()
Next
Bernd