Leseranfragen zu Windows-Scripts
Von Matthias Schüssler In der Ausgabe 98-8/9 von M+K Computermarkt haben wir auf Seite 31 ff den Windows-Scripting-Host (WHS) näher vorgestellt. Diese Engine kann Scripts unter Windows ausführen und ist ein moderner, objektorientierter Ersatz für die angejahrten DOS-Batch-Dateien. Einige Leser sind darauf mit Fragen zum WSH an uns gelangt. Die häufigsten Fragen ergeben sich bei der Migration von Batch-Dateien mit dem Objektmodell von VisualBasic, das von Microsoft nicht eben transparent dokumentiert ist. So hat das Ausführen von externen Programmen über das Shell-Objekt oft zu Problemen geführt.
Programme starten
Hier die Lösung, mit der den gestarteten Programmen auch Aufrufparameter übergeben werden können. Ausserdem funktioniert dieses Script auch mit Pfaden, die Leerschläge enthalten:
Dim AppShell
Const vbNormalFocus = 1
DIM ProgLoc
ProgLoc = Chr(34) & «C:Prog.exe» & Chr(34) & » /Parameter»
Set AppShell = CreateObject(«WScript.Shell»)
AppShell.Run ProgLoc, vbNormalFocus, true
VisualBasic-Objekte
Viele Funktionen der Scriptsprache sind als Objekt-Methoden implementiert. Wir haben daher auf unserer Homepage für Sie eine Seite zusammengestellt, welche die wichtigsten Objekte auflistet. Sie finden diese unter www.computermarkt.ch/scripting
Verknüpfung erzeugen
Wenn diese Objekte erst einmal offengelegt sind, können Sie mittels Scripts Dinge erledigen, die über eine Batch-Datei definitiv nicht zu realisieren sind. Beispielsweise lassen sich leicht Verknüpfungen (Shortcuts) zu Dateien erstellen. Das folgende Listing zeigt den Code in Visual-Basic, der einen Link auf dem Desktop anlegt:
Dim Shortcut
Set WSHShell = CreateObject(«WScript.Shell»)
Set Shortcut = WSHShell.CreateShortcut(«C:WinntProfilesMatthiasDesktopDemo.lnk»)
Shortcut.TargetPath = «C:WinntSystem32Write.exe»
Shortcut.WorkingDirectory = «c:Dokumente»
Shortcut.WindowStyle = 4
Shortcut.Hotkey =»Alt+W»
Shortcut.IconLocation = «C:WinntSystem32Write.exe»
ShortCut.Arguments=»»
Shortcut.Save
Dieses Beisipelprogramm legt auf dem Windows-Desktop einen Shortcut zu Wordpad an. Das Arbeitsverzeichnis wird auf c:Dokumente gesetzt, als Tastaturkürzel fügt das Script Alt-W ein.