|
Mit Windows 98 führte Microsoft eine neue Technologie ein: den
Windows Scripting Host (WSH). Windows erhielt damit die Fähigkeit,
systemweit Scripts auszuführen - was bei anderen Betriebssystemen längst
schon selbstverständlich war. Microsoft scheint dieser Technologie
jedoch nicht recht zu trauen: Wie sonst ist es zu erklären, dass
Windows 98 praktisch keine Dokumentation zum Scripting Host enthält?
Wir zeigen Ihnen, wie Sie zum Beispiel mit VB-Script Aufgaben
automatisieren können, die unter Windows sonst umständliche
Klickarbeit erfordern. Der Windows Scripting Host bietet mehr, als Microsofts
Beispieldateien unter \Windows\Samples\Wsh vermuten lassen. Dort
findet sich kaum eine nützliche Funktion - und die meisten Beispiele
lassen sich genausogut mit Batchdateien realisieren. Die folgenden
Tips eignen sich auch für Windows 95 und NT 4.0. Voraussetzung ist
je-doch, dass der Internet Explorer 4.x (IE 4.01 SP1 . ) und der
Scripting Host installiert sind. Den Scripting Host finden Sie im
Internet unter der Adresse
(Datei WSH.EXE, 567 KB).
Neue Ordner schneller anlegen
Um einen neuen Ordner im Windows-Explorer anzulegen, müssen Sie zunächst
per Rechtsklick das Kontextmenü aufrufen, hier "Neu,
Ordner" auswählen und schliesslich den markierten Ordner
umbenennen. Zudem müssen Sie sich vorher erst einmal bis zu dem
Verzeichnis durchklicken, in dem Sie den neuen Ordner anlegen möchten.
Ein VB-Script nimmt Ihnen einen Teil dieser Arbeit ab - NORDNER.VBS:
on error resume next
Set fso = CreateObject("Scripting.FileSystemObject")
Do While OK = False
Input = InputBox("Ordnername: ")
If Input ="" Then Exit Do
If (fso.FolderExists(Input)) Then
msg = "Ordner "& Input & " existiert
schon."
MsgBox (msg)
Else
Set f = fso.CreateFolder(Input)
f.Path
Exit Do
End If
Loop
NOrdner.VBS öffnet nach dem Start eine Eingabe-Box. Hier können
Sie einen kompletten Pfad, beispielsweise "c:\test",
eintragen. Sollte dieser Ordner schon vorhanden sein, erhalten Sie
eine Fehlermeldung, und Sie können einen anderen Namen wählen. Wenn
Sie nur einen neuen Ordnernamen ohne Laufwerksbezeichnung eingeben,
erstellt das Script den Ordner im aktuellen Verzeichnis.
Um schnellen Zugriff auf die Funktion zu haben, sollten Sie das Script
in das Kontextmenü des Explorers aufnehmen. Auch diese Aufgabe
erledigt ein VB-Script. Wenn Sie die Beispieldatei NEWKEY.VBS
on error resume next
Set WSHShell =WScript.CreateObject ("WScript.Shell")
KeyNew="HKCR\AllFilesystemObjects\shell\NeuerOrdner\
command\"
If WSHShell.RegRead(KeyNew) ="" then
'Bitte Pfad anpassen wenn das Script nicht in c:\scripts liegt
WSHShell.RegWrite KeyNew,"wscript C:\scripts\NOrdner.vbs"
MsgBox("Schlüssel wurde neu angelegt.")
else
MsgBox("Schlüssel ist schon vorhanden.")
end if
ausführen, legt das Script einen neuen Schlüssel in der Registry an.
Dieser enthält den Pfad zu NORDNER.VBS. Passen Sie die Pfadangabe im
Script NEWKEY.VBS an Ihre Verzeichnisstruktur an. Wenn Sie jetzt im
Explorer mit der rechten Maustaste auf eine Datei oder einen Ordner
klicken, finden Sie im Kontextmenü den Eintrag "NeuerOrdner auswählen".
Explorer-Funktionen per Script steuern. Mit VB-Script können Sie
Explorer-Funktionen aufrufen, die Sie sonst nur über das Kontextmenü
der Task-Leiste oder das Start-Menü erreichen. Auch hier benötigen
Sie zunächst eine Referenz auf das Objekt, auf das Sie zugreifen
wollen. Sie erstellen diese durch die Zeile
set Shell=Wscript.CreateObject
("Shell.Application")
Die Zeile
Shell.Open "<Ordnername>"
öffnet etwa das in <Ordnername> angegebene Verzeichnis im
Explorer. Diese Funktionen können für Sie nützlich sein, wenn Sie
beispielsweise zwei Explorer-Fenster nebeneinander anordnen wollen, um
Dateien per Drag & Drop zu kopieren oder zu verschieben. Führen
Sie dazu in Ihrem Script die "Shell.Open"-Anweisung zweimal
aus, und ordnen Sie danach die beiden Fenster mit der Anweisung
Shell.TileVertically
neu an. Im Explorer-Objekt sind aber noch mehr interessante Befehle
verborgen. Sie können etwa mit dem Script-Befehl
"Shell.ShutdownWindows" Windows beenden oder über
"Shell. Standby" den Standby-Modus anfordern.
Neue Funktionen aufspüren und nachrüsten. Um herauszufinden, welche
Programme sich auf die eben beschriebene Weise vom Windows Scripting
Host aus steuern lassen, kommen Sie ohne Zusatz-Software nicht aus.
Die im folgenden genannte Software erhalten Sie kostenlos. Einen Blick
in das geheime Innere der Windows-Objekte erlaubt Ihnen beispielsweise
Oleview von Microsoft (Download unter
, 206 KB) oder das Programm VBA-Companion unter
http://www.apexsc.com/downloads/. Sie können den Scripting Host aber
auch mit neuen Modulen erweitern. Im Internet finden sich zahlreiche
Quellen wie http://cwashington.netreach.net oder
http://wsh.glazier.co.nz. Dort gibt es unter anderem Module für die
Automatisierung des DFÜ-Netzwerks, das Auswerfen von Zip-Medien und
das Betrachten von Prozess-Informationen unter Windows NT.
Wenn Sie selbst Erweiterungen für den Scripting Host programmieren möchten,
können Sie dazu die kostenlose "Visual Basic 5.0 Control
Creation Edition" (VB5CCE) verwenden. Das ungefähr 7 MB grosse
Paket finden Sie im Internet unter der Adresse
http://msdn.microsoft.com/ vbasic/downloads/cce/default.asp.
Auch wenn Sie nicht selbst mit Visual Basic programmieren, kann sich
der Download lohnen. Nach der Installation sind einige
Automatisierungs-Objekte registriert, die Sie sonst mit dem Scripting
Host nicht verwenden können. Dazu gehört beispielsweise das
"Microsoft Common Dialog Control", das einem
VB-Script-Programm Standard-Dialoge wie "Datei öffnen" oder
"Datei speichern" zur Verfügung stellt. Ein Beispiel gibt
die Datei COMDLG.VBS:
'on error resume next
'Dieses Script funktioniert nur, wenn Sie eine
'Programmiersprache wie Visual Basic CCE installiert haben
set WSHShell =
wscript.CreateObject("wscript.Shell")
set objDlg = wscript.CreateObject("MSComDlg.CommonDialog")
objDlg.Filter = "All Files "& " (*.*)|*.*|VBScript
Files "& " (*.vbs)|*.vbs"
objDlg.FilterIndex = 2
objDlg.MaxFileSize = 260
objDlg.CancelError = true
objDlg.ShowOpen
strFName = objDlg.Filename
WSHShell.popup strFName
|