|
Sie sind hier: Home > Produkte > Software > Zum Archiv > Winscript |
Windows automatisieren:WinScript XP 3.0:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| Die Winscript XP-Kommandos |
Angenommen, Sie setzen beispielsweise eine Stapeldatei zum Leeren des Dokumentenordners im Startmenü ein. Bevor das Batch loslegt, möchten Sie aber noch eine Sicherheitsabfrage einfügen. Mit den wenigen zur Verfügung stehenden Batchbefehlen könnte man diese Aufgabe mit dem (inzwischen ausgestorbenen) DOS-Befehl CHOICE erledigen - was heutzutage eher mäßig aussieht. Mit Winscript XP können Sie dagegen eine elegante Dialogbox mit einem entsprechenden Hinweistext und beispielsweise den beiden Schaltfläche "Ja" und "Nein" anzeigen lassen.
Das ist aber bei weitem noch nicht alles. Winscript XP verfügt in der aktuellen Fassung über folgende Windows-Elemente und Zusätze, die alle problemlos in Stapeldateien eingesetzt werden können - selbstverständlich auch in allen bereits bestehenden Batches:
Vor allem die beiden Dateidialoge und die Inputbox werden sicherlich viel Anwendung finden. Denn dadurch kann man in Zukunft bei Batchdateien vollkommen auf die Angabe von Dateinamen und sonstigen Eingaben als Startparameter verzichten - das unkomfortable Zusammenhacken der Befehle an der Eingabeaufforderung hat damit endlich ein Ende. Winscript XP ist ausführbar unter allen Windows-Versionen ab Windows 95.
|
|
Download: Sofort ausführbares Setup (2,08 MByte) für Windows 98/ME/2000/XP/Vista |
|
|
Hilfe und Infos zur Installation finden Sie hier. |
|
|
Alle Tools und Artikel komplett auf der Tools&More-CD. |
|
|
Unterstützen Sie Tools&More: Lassen Sie sich registrieren. |
|
|
Dieses Programm weiterempfehlen. |
| So wird Winscript XP angewendet |
Da die DOS-Box mit allerlei Restriktionen versehen ist, wurde der Aufbau der Winscript XP-Kommandos so einfach wie möglich gehalten. Ein Aufruf hat das Format:
Call Winscript Befehl [Parameter] [Infodatei]
Für Befehl setzen Sie
eines der oben genannten Winscript XP-Kommandos ein, zum
Beispiel Messagebox. Die
Schreibweise (Gross-/Kleinschreibung) der Befehle kann frei
gewählt werden. Parameter sowie Infodatei übergeben zusätzliche
Infos, sind aber nicht bei allen Winscript XP-Befehlen nötig.
Bitte beachten Sie:
Allen Aufrufen von Winscript XP muss unbedingt das Konsolenkommando Call vorangestellt werden! Andernfalls kommt es zu Ausführungsfehlern. Falls Sie Winscript bereits in Versionen VOR 3.0 eingesetzt haben, so müssen Sie NACH einem Update auf Version 3.0 oder höher alle betreffenden Stapeldateien auf diesen Punkt überprüfen: Allen Aufrufen von Winscript XP muss das Kommando Call vorangestellt werden!
Hier
jetzt der komplette Aufruf für die im nebenstehenden Bild
gezeigt Dialogbox im Vordergrund:
Call Winscript MessageBox info.txt
Infos über das Aussehen und der Text der Messagebox werden in einer eigenen Datei (hier info.txt) übergeben. Die einzelnen Zeilen darin haben (zumindest bei Messagebox) folgende Bedeutung:
1. Zeile: Der Titelzeilentext
2. Zeile: Die Beschreibung des Icons und der Schaltflächen
3. und folgende Zeilen: Der Dialogtext
Die Beschreibungsdatei unseres Beispiels sieht daher folgendermaßen aus:
Dokumentenverweise löschen
Frage JaNein Rechts
Sollen die Verweise im Dokumenten-Ordner
wirklich alle gelöscht werden?
Auf die Reihenfolge
der Angaben ist unbedingt zu achten. Winscript XP ermittelt
lediglich über die Zeilenposition, um welche Art von Angabe
(Titel, Tasten, Icon) es sich handelt. Die erste Zeile enthält
den Titel der Dialogbox. In der zweiten Zeile wird das Icon mit
dem Fragezeichen angefordert, dazu zwei Schaltflächen mit den
Aufschriften "Ja" und "Nein", wobei die rechte Taste "Nein"
bereits ausgewählt sein soll. Die Aufteilung des Dialogtextes
auf zwei Zeilen (3. und 4.) hat zur Folge, dass der Text im
Fenster auch tatsächlich zweizeilig dargestellt wird und nicht
als Zeichenspaghetti erscheint (siehe Bild).
Zwecks Dokumentation können auch Kommentarzeilen in die
Beschreibungsdatei eingefügt werden. Solche Zeilen müssen mit
dem Kommando Rem, einem Semikolon
(;) oder einem einfachen
Anführungszeichen (') beginnen.
Kommentarzeilen werden bei der Zählung der Datenzeilen
natürlich nicht berücksichtigt. Ein Kommentar in der ersten
Zeile einer Beschreibungsdatei wird also nicht als Fenstertitel
verwendet, sondern die Angaben in der nachfolgenden Zeile -
sofern diese nicht auch ein Kommentar ist.
Die Beschreibungsdateien der einzelnen Winscript XP-Befehle
können Sie mit einem ganz normalen Editor wie Notepad oder Edit
als vorgefertigte Textdateien erstellt werden. Kompakterweise
können Sie sie aber auch durch die ausführende Stapeldatei kurz
vor ihrem Einsatz anlegen und gleich danach wieder löschen
lassen:
rem Beschreibungsdatei info.txt vorbereiten:
echo Dokumenten-Ordner leeren > info.txt
echo Frage JaNein Rechts >> info.txt
echo Soll der Ordner "Dokumente" >> info.txt
echo wirklich geleert werden? >> info.txt
| So erhält man Antworten |
Damit ist klar, wie
man zum Beispiel ein Dialogfenster definiert und anzeigen
lässt. Aber wie werden die an der Oberfläche gemachten Angaben
nun an die ausführende Stapeldatei geleitet? Hierfür dient die
Umgebungsvariable wsresult, in der
die entsprechenden Daten stehen.
Angenommen, Sie hätten im obigen Beispiel die Schaltfläche "Ja"
gedrückt, so würde die Umgebungsvariable
wsresult anschließend die Zeichenkette "JA" enthalten -
andernfalls "NEIN". Der Inhalt einer Umgebungsvariable wird
durch Einklammerung mit zwei Prozentzeichen (%)
ermittelt:
if "%wsresult%" == "JA" goto KillDocs
Bitte beachten Sie:
Bei manchen Dialogen,
wie beispielsweise der einfachen Eingabebox (Winscript
XP-Befehl InputBox) ist es
möglich, keine Angaben zu machen oder einfach die Schaltfläche
"Abbrechen" zu drücken. In diesem Fall würde die
Umgebungsvariable wsresult
anschließend keinen Inhalt haben. Daher ist es nötig, die oben
gezeigt Auswertung z.B. mit Anführungszeichen ("%wsresult%")
zu machen, da es sonst zu einem Syntax-Fehler und kommt.
Die Ergebnisse in wsresult sind immer VERSAL geschrieben, damit eine spätere Auswertung (z.B. über If) in der ausführenden Stapeldatei leichter fällt.
Hier ein Beispiel für den kompletten Aufbau eines Batches zum Löschen der Verweise im Dokumentenordner:
rem #############################################
rem Demo-Batch zum Löschen der Dokumentenverweise
rem #############################################
rem
rem ### info.tmp für Abfrage vorbereiten:
echo Dokumentenverweise löschen>info.tmp
echo Frage JaNein Rechts>>info.tmp
echo Sollen die Verweise im Ordner "Dokumente">>info.tmp
echo wirklich alle gelöscht werden?>>info.tmp
rem
rem ### Abfrage starten:
call winscript messagebox info.tmp
rem
rem ### Je nach Auswahl weiter machen
if "%wsresult%" == "NEIN" goto Ende
rem
rem ### Ordnerinhalt löschen (Pfad ggf. anpassen)
del /s/q "%USERPROFILE%\Recent\*.*"
rem
rem ### info.tmp für Folgeinfo vorbereiten:
echo Dokumentenverweise löschen>info.tmp
echo OK Info>>info.tmp
echo Alle Verweise im Ordner "Dokumente">>info.tmp
echo wurden gelöscht.>>info.tmp
rem
rem ### Info anzeigen:
call winscript messagebox info.tmp
rem
:Ende
rem ### Aufräumen
del info.tmp
| Alle Winscript XP-Kommandos im Detail |
Alle Winscript
XP-Befehle werden analog der gezeigten Verfahren angewendet.
Die hierfür nötigen Parameter werden im folgenden ausführlich
erläutert. Eine kompakte Zusammenfassung in Tabellenform finden
Sie am Ende dieses Textes (Tabelle 1).
Tipp: Zwecks leichterem Verständnis ist im Installationspaket
von WinScript XP auch eine Demo-Batch enthalten, die alle
Befehle an einem Life-Beispiel dokumentiert.
CheckDrive überprüft, ob sich ein bestimmtes Speichermedium überhaupt
ansprechen lässt. Fehler, die beispielsweise auf nicht eingelegte
Datenträger oder nicht eingeschaltete Geräte zurückzuführen sind,
können so von vorn herein ausgeschlossen werden. Als Parameter ist
zumindest der Laufwerkbuchstabe des zu prüfenden Drives anzugeben.
Dieses Kommando benötigt keine Beschreibungsdatei. Das Ergebnis
erhält man wie üblich in der Umgebungsvariable wsresult - sie enthält
entweder OK, falls man problemlos auf den Datenträger zugreifen kann,
bzw. ERROR, falls nicht. Hier ein Beispiel:
Rem Prüfe, ob Zugriff auf Diskette in A: möglich
:start
call winscript checkdrive a
if "%wsresult%" == "OK" goto driveok
goto fehler
: driveok
CheckLabel lässt Sie verifizieren, ob es sich bei dem in ein
bestimmtes Laufwerk eingelegten Medium um das richtige handelt. Bei
dem Aufruf ist neben der betreffenden Laufwerkskennung auch der
erwartete Datenträgernamen anzugeben. Dieses Kommando benötigt keine
Beschreibungsdatei. Stimmt der Name des überprüften Mediums, so
liefert die Umgebungsvariable wsresult den Wert OK - falls nicht
ERROR. Auch hierzu ein Beispiel:
Rem Prüfe, ob Medium in A: "backupxy" heißt
:start
call winscript checklabel a backupxy
if "%wsresult%" == "OK" goto labelok
goto fehler
: labelok
|
|
|
FileSaveBox: Standard-Dialog zum Sichern einer Datei, ebenfalls mit
Unterstützung langer Dateinamen und Netzlaufwerken. Dieser Befehl
entspricht weitestgehend FileOpenBox, im Titel wird
(je nach Windows-Version) statt "öffnen"
jedoch "sichern" angezeigt.
Help lässt Sie direkt aus der Eingabeaufforderung heraus die
Winscript XP-Onlinehilfe öffnen. Das geht oftmals schneller, als die
Hilfe über den Eintrag im Startmenü per Maus zu starten. Dieses
Kommando benötigt keine Beschreibungsdatei. Der Aufruf:
Rem Winscript XP-Hilfe öffnen
call winscript help
|
|
|
|
Play spielt eine .wav-Datei ab. Infos darüber werden in einer
Beschreibungsdatei mit folgendem Aufbau übergeben:
1. Zeile: Name der Klangdatei (.wav-Format)
2. Zeile: Ausführungsverhalten. Bei Angabe von WAIT wartet Winscript
XP bis die Klangdatei komplett abgespielt ist und gibt dann erst die
Kontrolle zurück an die Stapeldatei. Eine sofortige Rückgabe
erreichen Sie mit CONTINUE.
rem Abspielen einer Klangdatei
echo %windir%\media\chimes.wav > info.txt
echo wait >> info.txt
call winscript play info.txt
del info.txt
|
| Tabelle 1.a: Die Winscript-Kommandos im Überblick (Teil 1) |
| Befehl | MessageBox | InputBox | ListBox |
| Zweck | Nachrichten-fenster mit frei festlegbaren Dialogtext, bis zu drei Schaltflächen und verschiedenen Icons | Eingabe-fenster mit frei festlegbaren Dialogtext für die Eingabe einer (vorbestimm- baren) Zeichenkette | Listenauswahl- fenster mit frei festlegbaren Dialogtext und Inhalt |
| Syntax | call winscript messagebox info.dat | call winscript inputbox info.dat | call winscript listbox info.dat |
| Beschreibungs- datei: Zeile 1 |
Fenstertitel | Fenstertitel | Fenstertitel |
| Zeile 2 | Icon, Taster und Vorauswahl (siehe Tabellen 2 bis 4) | Vorausgewählter Text, der in der Eingabezeile erscheinen soll | Name der Textdatei, die den Listeninhalt enthält |
| Zeile 3 | Ab hier sind alle folgenden Zeilen Dialogtext | Ab hier sind alle folgenden Zeilen Dialogtext | Auswahl:
SINGLESELECT erlaubt nur die Auswahl
eines einzigen Listeneintrags,
MULTISELECT dagegen mehrere. STRING bzw.
NUMERIC: Damit werden Listenmarkierungen
entweder als Zeichen- ketten oder num.
Aufzählungen in der Ergebnisvariablen
WSRESULT abgelegt. Wird bsw. der 1., 5.
und der 33, Eintrag gewählt, so enthält
WSRESULT durch NUMERIC die Zeichenkette
"1 5 33" (ohne Anführungszeichen). Zum Aufsplitten eines MULTISELECT- Ergebnisses über Batchbefehle bietet sich das Kommando FOR an. |
| Zeile 4 | - | - | Ab hier sind alle folgenden Zeilen Dialogtext |
| Ergebnisse in %wsresult% | Wert richtet sich nach dem Beschriftung der zuvor gedrückten Schaltfläche. War es beispielsweise "OK", enthält die Variable die Zeichenkette OK (siehe Tabellen 2 bis 4) | Variable erhält den Inhalt des Eingabefeldes. Wurde abgebrochen, so ist die Variable leer. | Variable erhält den ausgewählten Listeneintrag. Sind es mehrere, so werden sie durch Leerzeichen voneinander getrennt. Wurde abgebrochen, so ist die Variable leer. |
| |
| Tabelle 1.b: Die Winscript-Kommandos im Überblick (Teil 2) |
| Befehl | FileOpenBox | FileSaveBox | Play |
| Zweck | Standard-Dialog zum Öffnen einer Datei | Standard-Dialog zum Sichern einer Datei | Modul zum Abspielen von WAV-Dateien |
| Syntax | call winscript fileopenbox info.dat | call winscript filesavebox info.dat | call winscript play info.dat |
| Beschreibungs- datei: Zeile 1 |
Fenstertitel | Fenstertitel | Name der abzuspielenden Datei |
| Zeile 2 | Vorgegebener Name für die zu öffnende Datei | Vorgegebener Name für die zu sichernde Datei | Warteverhalten: WAIT wartet, bis die Datei abgespielt wurde, CONTINUE kehrt sofort zum Batch zurück |
| Zeile 3 | Der vorgegebene Name des Verzeichnisses, das der Dialog öffnen soll | Der vorgegebene Name des Verzeichnisses, das der Dialog öffnen soll | - |
| Zeile 4 | Dateifilter für den Dialog, Beispiel: Text (*.txt) : *.txt : Bilder (*.bmp; *.ico) : *.bmp; *.ico | Dateifilter für den Dialog, Beispiel: Text (*.txt) : *.txt : Bilder (*.bmp; *.ico) : *.bmp; *.ico | - |
| Ergebnisse in %wsresult% | Variable erhält den ausgewählten Dateinamen. Wurde abgebrochen, so ist die Variable leer. | Variable erhält den ausgewählten Dateinamen. Wurde abgebrochen, so ist die Variable leer. | Variable wird nicht verändert. |
| |
| Tabelle 1.c: Die Winscript-Kommandos im Überblick (Teil 3) |
| Befehl | QueryFolderBox | Info | Help |
| Zweck | Dialog zur Eingabe eines Pfades über einen Verzeichnisbaum | Info zeigt den Info-Dialog von Winscript XP an. Er enthält Infos über die Programmversion und Links zu eventuellen Updates des Tools. | Help lässt Sie direkt aus der Eingabeaufforderung heraus die Winscript XP-Onlinehilfe öffnen. |
| Syntax | call winscript queryfolderbox info.dat | call winscript info | call winscript help |
| Beschreibungs- datei: Zeile 1 |
Ab hier sind alle folgenden Zeilen Dialogtext | (nicht verwendet) | (nicht verwendet) |
| Ergebnisse in %wsresult% | Variable erhält den ausgewählten Pfad. Wurde abgebrochen, so ist die Variable leer. | Variable wird nicht verändert. | Variable wird nicht verändert. |
| |
| Tabelle 1.d: Die Winscript-Kommandos im Überblick (Teil 4) |
| Befehl | CheckDrive | CheckLabel | |
| Zweck | Dialog zur Eingabe eines Pfades über einen Verzeichnisbaum | Info zeigt den Info-Dialog von Winscript XP an. Er enthält Infos über die Programmversion und Links zu eventuellen Updates des Tools. | |
| Syntax | call winscript checkdrive laufwerkskennung | call winscript checklabel laufwerkskennung datenträgername | |
| Beschreibungs- datei: Zeile 1 |
(nicht verwendet) | (nicht verwendet) | |
| Ergebnisse in %wsresult% | Variable erhält den ausgewählten Pfad. Wurde abgebrochen, so ist die Variable leer. | Variable wird nicht verändert. |
| |
| Tabelle 2: Die Bezeichnungen für die Tastendefinition beim Befehl MessageBox |
| Bezeichner | Abkürzung | Anzahl der gezeigten Taster | Aufschrift der Schaltflächen (entsprechen auch den Ergebnissen in %wsresult% falls gedrückt, aber in versaler Schreibweise) |
| (keine) | (keine) | 1 | OK |
| Ok | (keine) | 1 | OK |
| OkAbbrechen | OA | 2 | OK, Abbrechen |
| WiederholenAbbrechen | WA | 2 | Wiederholen, Abbrechen |
| JaNein | JN | 2 | Ja, Nein |
| JaNeinAbbrechen | JNA | 3 | Ja, Nein, Abbrechen |
| Abbrechen- Wiederholen- Ignorieren |
AWI | 3 | Abbrechen, Wiederholen, Ignorieren |
| |
| Tabelle 3: Kennungen für die Tastenvorauswahl beim Befehl MessageBox |
| Bezeichner | Voreingestellte Taste |
| (keine) | Links |
| Links | Links |
| Mitte | Mitte |
| Rechts | Rechts |
| |
| Tabelle 4: Die Bezeichnungen für die Icondarstellung beim Befehl MessageBox |
| Bezeichner | Dargestelltes Icon |
| (keine) | (keine) |
| Frage | Weisse Sprechblase mit blauem "?" |
| Info | Weisse Sprechblase mit blauem "i" |
| Stop | Weisses "X" auf rotem Kreis |
| Warnung | Schwarzes "!" auf gelbem Dreieck |
| |