Windows Scripting Host

home wsh-doku wsh allgemein wscript shell wscript network file system object wmi application activex data object impressum
   

WSH-Dokumentation

Wissenswertes über Windows Scripting Host.

  • Was ist Windows Scripting Host?
  • Wie funktioniert Windows Scripting Host?
  • Wie sieht die Windows Scripting Host Architektur aus?
  • Grundsätzliches/ die verschiedenen Objekte
  • Voraussetzungen


    Allgemeine Tipps

  • Fehler selbst verwalten
  • Zeilenumbruch bei einer Befehlszeile
  • Deklaration von Variablen erzwingen


    Was ist Windows Scripting Host?

    Windows Scripting Host ist eine Sprache, mit der Sie Windows ganz genau sagen können, was es für Sie tun soll. Anstatt mühsam mit der Hand hunderte von Bilddateien in einem Ordner umzubennenen, beauftragen Sie einfach Windows mit dieser Arbeit. Lästige Routineaufgaben fassen sie zu kleinen Skripten zusammen, die Sie jederzeit per Tastendruck aufrufen können, so oft sie wollen, und ohne einen weiteren Finger zu krümmen.
    Das was früher Batchdateien unter DOS erledigt haben, erledigt nun Windows Scripting Host unter Windows und dies weitaus kompfortabler und einfacher.


    Wie sieht die Windows Scripting Host Architektur aus?


    Windows Scripting Host unterstützt nicht nur VisualBasicScript, sondern auch JavaScript. Es gibt aber auch Möglichkeiten weiter Scriptsprachen, beispielsweise PerlScript, zu nutzen, wenn die entsprechenden Script Engines installiert werden. Die Script Engines für VisualBasicScript und JavaScript sind nach der Installation von Windows Scripting Host sofort verfügbar.
    Die Script-Dateien werden unter Windows gestartet und rufen die sogenannte Scripting Engine auf. Für jede Sprache gibt es eine eigene Verarbeitung, die unter anderem Schnittstellen zu den Com-Objekten (FSO,ADO,...) bietet. Anschließend wid das Ergebnis je nach Einstellung entweder in der WindowsGUI oder in der DOS-Shell ausgegeben.


    Wie funktioniert Windows Scripting Host?

    Bei Windows Scripting Host können entweder vbs-Dateien oder js-Dateien genutzt werden. In den Beispielen auf meiner Homepage gehe ich ausschließlich auf die vbs-Dateien ein.

    Um eine vbs-Datei anzulegen, braucht man nur einen Editor, z.B. Notepad, unter Windows zu starten und schon kann man loslegen. Tippen Sie zum Beispiel

    msgbox ("Hallo Welt!")

    ein und speichern sie dies unter "hallo.vbs" ab. Achten Sie darauf, daß beim Speichern der Dateityp auf "Alle Dateien" steht. Beenden Sie nun den Editor und starten Sie die Datei "hallo.vbs" aus dem Explorer heraus durch einen Doppelklick. Nun müßte sich eine Dialogbox mit "Hallo Welt!" öffnen. Falls diese nicht erscheint, kann ein Tippfehler vorliegen oder Sie haben keinen Windows Scripting Host installiert, lesen Sie in diesem Fall unter Voraussetzungen weiter.

    Nur der Vollständigkeits halber, möchte ich noch kurz erwähnen, wie man eine js-Datei anlegt und ausführt.
    Öffnen Sie hierzu wieder den Editor und tippen Sie folgende Zeilen ein:

    var fso = new ActiveXObject("Scripting.FileSystemObject");
    //Datei wird angelegt:
    var txt = fso.CreateTextFile("readme.txt", true);
    txt.WriteLine("Ich bin ein Testeintrag.");
    txt.Close()
    //Ausgabe:
    WScript.Echo("Done.\n Datei readme.txt angelegt.")

    Speichern Sie dies unter "test.js" ab. Achten Sie darauf, daß beim Speichern der Dateityp auf "Alle Dateien" steht. Beenden Sie nun den Editor und starten Sie die Datei "test.js" aus dem Explorer heraus mit einem Doppelklick. Nun müßte mit Hilfe des File System Objekt eine Datei readme.txt angelegt werden, abschließend erscheint ein Popup.
    Falls nichts passieren sollte, kann ein Tippfehler vorliegen oder Sie haben keinen Windows Scripting Host installiert, lesen Sie in diesem Fall unter Voraussetzungen weiter.


    Grundsätzliches/ die verschiedenen Objekte

    Prinzipiell läuft ein Windows Scripting Host auch ohne Objekte, diese Beispielscripte findet man unter WSH allgemein. Jedoch wenn man etwas mehr mit seinem WSH machen möchte, muß man ein oder mehrere Objekte initialisieren. Es gibt verschiedene Objekte, einige sind hier nun aufgelistet:
    Das WScript Shell Objekt wird benutzt, um Informationen einzulesen, sei es aus der Windows- Registry, aus Verknüpfungen oder aus Umgebungsvariabeln.
    Das File System Object wird benutzt, um Dateien zu verwalten.
    Das ActiveX Data Object wird benutzt, um auf SQL- Datenbanken zuzugreifen.
    Ein anderes interessantes Objekt ist das Err- Objekt, es braucht nicht angelegt zu werden, da es immer vorhanden ist. Es verwaltet die Fehler in einem Skript. Mehr Infos dazu findet man unter allgemeine Tipps- Fehler selbst verwalten


    Voraussetzungen

    Windows Scripting Host läuft auf allen 32 bit Windowssystemen (z.B. Win98, WinNT, WinXP), ein Internet Explorer 4.0 oder höher muß installiert sein. Außerdem brauchen Sie noch eine Version von Windows Scripting Host, das normalerweise standardmässig installiert sein sollte.
    Falls dies bei Ihnen nicht so sein sollte, können Sie unter
    www.microsoft.com eine aktuelle Version von WSH downloaden und nachinstallieren.
    Sollte trotz Installation das Ausführen der VBS-Dateien noch nicht funktionieren, prüfen Sie nach, ob WSH deaktiviert wurde. Öffnen Sie hierzu den Registrierungs-Editor (Start->Ausführen und regedit eingeben.) und suchen Sie nach folgendem Schlüssel:
    "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Script Host\Settings"
    Wenn unter diesem Schlüssel eine Variable "enabled" vorhanden ist und diese auf "0" steht, wurde WSH deaktiviert. Setzen Sie nun die Variable auf "1" oder löschen Sie diese.



    [zurück]




    Allgemeine Tipps:


    Fehler selbst verwalten
    Dieses Skript schaltet alle Fehlermeldungen von WSH aus. Es ist in diesem Skript ein kleiner Fehler eingebaut, der am Ende des Skripts ausgegeben wird.

    on error resume next
    msgboooox("Diese Msgbox enthält einen Syntaxfehler und kann nicht angezeigt werden.")
    msgbox("Diese Msgbox wird korrekt angezeigt, obwohl vorher ein Fehler auftrat.")
    msgbox("Fehlernummer: " & err.number & vbcr & "Fehlerort: " & err.source & _
    vbcr &"Beschreibung: " & err.description)
    err.clear

    Mit Err.clear wird der Fehlerstatus gelöscht und das Err- Objekt wieder in Ruhe gesetzt.


    [zurück]


    Zeilenumbruch bei einer Befehlszeile
    Um einen Zeilenumbruch zu bekommen, muß man einfach am Ende ein Leerzeichen und den Bodenstrich _ anfügen.
    Beispiel:

    msgbox("Dies ist eine Testbox, damit ich Ihnen zeigen kann, wie ein Zeilenumbruch ") _
    & ("funktioniert.")

    [zurück]


    Deklaration von Variablen erzwingen
    Mit dem Zusatz Option Explicit erzwingt man, dass alle Variablen zwingend deklariert werden müssen.
    Beispiel:

    Option Explicit
    dim a
    a = 5
    msgbox(a)

    [zurück]




  •    


    © by Sebastian Koch

    Website: www.quaschtel.de