2009-05-16 14 views
4

Ich benutze die Automatisierungsschnittstelle von Internet Explorer von Powershell, um eine Webseite in einem unterstützten Format zu öffnen. Ich möchte diese Seite in einem der von IE unterstützten Formate auf die Festplatte speichern. Das Öffnen der Seite ist einfach:Speichern einer Webseite aus IE mit Powershell

$ie = New-Object -ComObject "InternetExplorer.Application" 
$ie.Navigate("C:\MyFile.mht") 

Wie kann ich es in einem anderen Format speichern?

Ich brauche eine Lösung, die den Benutzer nicht auffordert, da die Idee darin besteht, dies in einem Skript zu automatisieren, das mehrere Dateien durchläuft.

Antwort

3

You want to call ExecWB with the appropriate args:

$ie.ExecWB(4,0,$null,[ref]$null) 

Erklärung der 4 params:

4 = OLECMDID_SAVEAS 
0 = OLECMDEXECOPT_DODEFAULT (This can also be 2 = OLECMDEXECOPT_DONTPROMPTUSER to not prompt and just save) 
$null = NULL (I think this can be a path to save to: separate folders with 2 slashes (\\)) 
[ref]$null = ref NULL :) 
+0

Dank! Ich kann Dateiname und Erweiterung (Dateityp) direkt in Parameter 3 angeben. Aber ich erhalte immer noch die Dialogbox, auch wenn "2" (DONTPROMPTUSER) verwendet wird. Das bedeutet, dass ich dies in einem Skript mit mehreren Dateien nicht automatisieren kann. Kennen Sie eine Lösung? –

+1

Offenbar erzwingt ExecWB eine Eingabeaufforderung: http://support.microsoft.com/kb/244757 –

Verwandte Themen