andinistrator1
Goto Top

Mehrere HTM Dateien aus verschiedenen Ordnern auf verschiedenen Druckern automatisch drucken und verschieben oder löschen

Hallo zusammen,

ich suche nach einer Möglichkeit
- HTM Dateien aus unterschiedlichen Ordnern
- je nach Ordner an unterschiedlichen Druckern

zu drucken. Es darf dabei NICHT der Standarddrucker sein, sondern muss selektierbar sein.

Ich habe ähnliches Powershell Script zu PDF Dateien gefunden:

# Drucker definieren
$printer = '\\DRUCKSERVER\DRUCKERNAME'  

# Pfad definieren
gci "\\NETZLAUFWERK\ORDNERNAME*.pdf" | %{  

    $pdfApp = (start-process $_ -Verb "printto" -PassThru -ArgumentList "$printer").ProcessName  
    sleep(3)

 # Datei löschen
    while($true){del $_ -Force -EV err -EA SilentlyContinue; If($err){sleep(1)}else{break}}
}

# PDF schließen
get-process $pdfApp -ErrorAction SilentlyContinue | Stop-Process

Wenn ich hier statt *.pdf einfach mal *.htm eingebe, öffnen sich das Druckmenü - ich glaube vom Internet Explorer?! Wenn ich schnell genug bin und noch grad auf ok drücke, kommt auch was raus. Kennt sich da grad einer aus, das Script für *.htm Daten anzupassen?

Content-ID: 269041

Url: https://administrator.de/contentid/269041

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

114757
114757 13.04.2015 aktualisiert um 16:10:35 Uhr
Goto Top
Zitat von @Andinistrator1:
Wenn ich hier statt *.pdf einfach mal *.htm eingebe, öffnen sich das Druckmenü - ich glaube vom Internet Explorer?! Wenn
ich schnell genug bin und noch grad auf ok drücke, kommt auch was raus. Kennt sich da grad einer aus, das Script für
*.htm Daten anzupassen?
Das geht nicht so einfach, denn der IE kennt das silent printing aus Sicherheitsgründen nicht. Das ginge IMHO nur mit einem zusätzlichen ActiveX Control.

Fakel doch deine Druckerei hiermit ab
http://www.blackice.com/Help/Tools/PrinterDriver%20Demo/RTK_Full_WebHel ...
Andinistrator1
Andinistrator1 13.04.2015 um 16:18:57 Uhr
Goto Top
Ich hab mir dazu Print & Batch Pro 8 angeschaut, dass wäre quasi das gleiche, denk ich. Mich würde es nicht sonderlich stören, wenn auf dem Server die ganze Zeit das Druckfenster auf und zu geht, auf der Kiste ist sonst keiner.

Wenn ich in dem o.g. Script die Dateinamen ändere, erfüllt dies schon 90% meiner Anforderung, nur der "Drucken" Button sollte im Script noch gedrückt werden - oder meinst du das mit silent print?
114757
114757 13.04.2015 um 16:26:07 Uhr
Goto Top
Zitat von @Andinistrator1:
Wenn ich in dem o.g. Script die Dateinamen ändere, erfüllt dies schon 90% meiner Anforderung, nur der
"Drucken" Button sollte im Script noch gedrückt werden - oder meinst du das mit silent print?
Sicher .. erst dann ist es ja einigermaßen "silent"
Andinistrator1
Andinistrator1 13.04.2015 um 16:40:20 Uhr
Goto Top
Ah ok - das PDF Script öffnet und schließt Adobe Reader, daher meine Verwirrung zu "silent". Ich habs grad mit @ echo off verwechelt, also das man gar nichts sieht oder dies als Dienst laufen könnte.
Andinistrator1
Andinistrator1 14.04.2015 um 11:41:31 Uhr
Goto Top
Ich möchte aber noch nicht aufgeben, vielleicht findet sich noch ein Experte welcher hier weiterweiß,

- ob man das Script für HTM Files umbauen kann
- oder dann ein anderes Tool/Bordmittel verwendet um HTM Files zu öffnen mit dem der silent install funktioniert
114757
Lösung 114757 14.04.2015 aktualisiert um 12:05:36 Uhr
Goto Top
Ich möchte aber noch nicht aufgeben, vielleicht findet sich noch ein Experte welcher hier weiterweiß,
@colinardo hat dir doch schon geantwortet:
PDF via Powershell drucken - Reader nach druck schließen
Andinistrator1
Andinistrator1 14.04.2015 aktualisiert um 12:52:27 Uhr
Goto Top
Danke dir - ich mach dort weiter.

Zur Info

# Drucker auf dem gedruckt werden soll
$printer = 'LOKALER_DRUCKERNAME'  

# Original Drucker speichern
 $originalPrinter = gwmi Win32_Printer -Filter "Default='true'"  


# Set Default Printer
[void](gwmi Win32_Printer -Filter "Name='$printer'").SetDefaultPrinter()  
$objShell = New-Object -Com Wscript.Shell

gci "\\NETZLAUFWERK\ORDNERNAME\*.htm" | %{  
    start-process $_ -Verb "print" -PassThru  
    sleep(5)
    $objShell.SendKeys("{ENTER}")  
    sleep(5)
    while($true){del $_ -Force -EV err -EA SilentlyContinue; If($err){sleep(1)}else{break}}
}

# Original Standarddrucker wiederherstellen
[void]$originalPrinter.SetDefaultPrinter()