- Inhaltsverzeichnis
- Das Wichtigste über Variablen
- Vordefinierte Variablen
- Eigene Variable verwenden
- Die Variable COMPUTERNAME
- Die Variablen DATE und TIME
- Teile von Variablen verwenden
- Verwandte Themen
- Übersicht Kommandozeilenbefehle
- Übersicht Stapeldateien
dir • chkdsk • cd • md • rd • tree • del • attrib • if • Variablen • ERRORLEVEL • xcopy • robocopy
Das Wichtigste über Variablen
DOS und Windows haben einen kleinen Spezialspeicher, den „Umgebungsspeicher“, engl. „Environment“, um einige wichtige Parameter in Textform bereitzuhalten. Öffnen Sie die „Eingabeaufforderung“, geben Sie den Befehl SET ein und schauen Sie das Ergebnis an!
Wenn Sie den Befehl „set“ eingeben, sehen Sie etwa folgendes:
C:\Users\Admin>set ALLUSERSPROFILE=C:\ProgramData APPDATA=C:\Users\Admin\AppData\Roaming CommonProgramFiles=C:\Program Files\Common Files CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files CommonProgramW6432=C:\Program Files\Common Files COMPUTERNAME=DESKTOP-1OVRLG7 ComSpec=C:\Windows\system32\cmd.exe DriverData=C:\Windows\System32\Drivers\DriverData FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer FPS_BROWSER_USER_PROFILE_STRING=Default HOMEDRIVE=C: HOMEPATH=\Users\Admin LOCALAPPDATA=C:\Users\Admin\AppData\Local LOGONSERVER=\\DESKTOP-1OVRLG7 NUMBER_OF_PROCESSORS=4 OneDrive=C:\Users\Admin\OneDrive OS=Windows_NT Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\Admin\AppData\Local\Microsoft\WindowsApps; PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC PROCESSOR_ARCHITECTURE=AMD64 PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 60 Stepping 3, GenuineIntel PROCESSOR_LEVEL=6 PROCESSOR_REVISION=3c03 ProgramData=C:\ProgramData ProgramFiles=C:\Program Files ProgramFiles(x86)=C:\Program Files (x86) ProgramW6432=C:\Program Files PROMPT=$P$G PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules PUBLIC=C:\Users\Public SESSIONNAME=Console SystemDrive=C: SystemRoot=C:\Windows TEMP=C:\Users\Admin\AppData\Local\Temp TMP=C:\Users\Admin\AppData\Local\Temp USERDOMAIN=DESKTOP-1OVRLG7 USERDOMAIN_ROAMINGPROFILE=DESKTOP-1OVRLG7 USERNAME=Admin USERPROFILE=C:\Users\Admin windir=C:\Windows C:\Users\Admin>
Vordefinierte Variablen
Der Befehl SET zeigt Ihnen unter anderem den Netzwerknamen COMPUTERNAME, Ihren Anmeldenamen USERNAME und die Ordnernamen SystemRoot, WINDIR und ProgramFiles. Sehr nützlich ist auch die Variable USERPROFILE, um auf die persönlichen Datenordner zugreifen zu können. Diese Variablen können von Programmen und auch von Stapeldateien benutzt werden. Weiterhin gibt es die Variablen DATE und TIME, die hier nicht angezeigt werden. Ihr Wert wird von Windows aktuell gehalten.
Bei Verwendung in einer Stapeldatei muss man die Variable mit Prozentzeichen umschließen, dann wird sie während der Ausführung der Stapeldatei durch ihren aktuellen Wert ersetzt.
Ändern Sie nicht die Werte der Systemvariablen (USERNAME, WINDIR u. a.), die Folgen wären unabsehbar!
Eigene Variable verwenden
Im Umgebungsspeicher ist etwas Platz übrig für selbstdefinierte Variablen. Mit einem Befehl SET TEST=JA wird eine Variable TEST erzeugt und sie bekommt den Wert „JA“ zugewiesen. Mit SET können Sie das überprüfen.
Mit SET TEST=NEIN kann man den Wert ändern. Die eigene Variable TEST kann man in Programmen (Stapeldateien) nutzen.
Wird die Variable nicht mehr benötigt, sollte sie mit SET TEST= aus dem Umgebungsspeicher entfernt werden, um den belegten Speicherplatz freizugeben. Achtung, sofort hinter dem Gleichheitszeichen ENTER drücken, es darf kein Leerzeichen folgen!
Die Variable COMPUTERNAME
Nach einer Neuinstallation enthält die Variable COMPUTERNAME wahrscheinlich eine Zufallszahl und ist nicht besonders hilfreich. Den Computernamen können Sie ändern. Unter Windows 10 gehen Sie über „Einstellungen“ → „Info“ zu „Diesen PC umbenennen (fortgeschritten), unter Windows 7 kommen Sie mit der Tastenkombination Windows-Taste plus „Pause“-Taste zum Fenster „System“. Bei den „Einstellungen für den Computernamen, …“ wird der aktuelle Name angezeigt. Klicken sie auf „Einstellungen ändern“.
Nach „Ändern“ geben Sie einen selbsterklärenden Namen ein (max. 15 alphanumerische Zeichen, keine Umlaute, keine Sonderzeichen außer dem Minuszeichen). Klicken Sie auf „OK“. Geben Sie eine „Computerbeschreibung“ ein, wenn Sie wollen. Schließen Sie alle Fenster mit „OK“ und führen Sie einen Neustart aus.
Beachten Sie: Wenn andere Netzwerkgeräte eine ständige Verbindung mit Ihrem PC hatten, geht diese durch eine Namensänderung verloren und muss erneut hergestellt werden.
Die Variablen DATE und TIME
Machen Sie mit bei einem kleinen, ungefährlichen Versuch. Öffnen Sie die Eingabeaufforderung. Geben Sie den folgenden Befehl ein, gefolgt von Enter:
time
Sie erhalten eine Meldung, die etwa so aussieht:
Aktuelle Zeit: 14:04:55,84
Geben Sie die neue Zeit ein:
Sie könnten jetzt die Uhrzeit korrigieren, falls sie nicht stimmt. Wenn die angezeigte Zeit korrekt ist, drücken Sie nur die Enter-Taste.
Auch das Datum können Sie abfragen. Geben Sie den folgenden Befehl ein, gefolgt von Enter:
date
Sie erhalten eine Meldung, die etwa so aussieht:
Aktuelles Datum: 30.12.2018
Geben Sie das neue Datum ein: (TT-MM-JJ)
Sie könnten jetzt das Datum eingeben, falls es nicht stimmt. Beachten Sie die vorgeschriebene Schreibweise. Wenn Sie mit dem angezeigten Datum einverstanden sind, drücken Sie nur die Enter-Taste.
Je nach Windows-Version und -Einstellungen kann die Meldung zusätzlich den Wochentag enthalten:
Aktuelles Datum: Sa 30.12.2018
Geben Sie das neue Datum ein: (TT-MM-JJ)
Kennen Sie den Befehl „echo“? Er wird hauptsächlich in Stapeldateien zur Textausgabe auf dem Bildschirm verwendet. Probieren Sie einmal:
echo %date%
Je nach Windows-Version erhalten Sie 30.12.2018
oder So,30.12.2018
Merken Sie sich, welche der beiden Datumsversionen für Ihr Betriebssystem zutrifft: mit oder ohne Wochentag.
In den Beispielen auf den folgenden Seiten steht Q: für das Quellen-Laufwerk mit den zu sichernden Daten und Z: für das Ziel-Laufwerk, wohin die Daten gesichert werden sollen. Ersetzen Sie Z: durch den Laufwerksbuchstaben, welchen Windows dem USB-Stick oder der externen Festplatte zugewiesen hat. Wenn Sie diesen Buchstaben nicht wissen, ermitteln Sie ihn mit dem Windows Explorer oder dem Festplattenmanager (Befehl diskmgmt.msc in der Eingabeaufforderung). Q: müssen Sie vermutlich durch C: oder D: ersetzen oder wo auch immer Sie Ihre Daten gespeichert haben.
Die Variable %DATE% enthält das aktuelle Datum. Mit dem Befehl
md Z:\%DATE%
kann man jeden Tag ein neues Verzeichnis erstellen. Probieren Sie es einfach einmal aus: Geben Sie den Befehl ein und überzeugen Sie sich, dass im Ziel-Laufwerk ein neues Verzeichnis entstanden ist. Wenn Sie anschließend den Befehl
xcopy Q:\*.doc* Z:\%DATE%\*.doc* /s
eingeben und Enter drücken, werden alle Ihre Word-Dokumente in dieses neue Tagesverzeichnis kopiert.
Teile von Variablen verwenden
Nachteil dieses Verfahrens: Bei einer täglichen Datensicherung würden pro Jahr 365 Kopien entstehen, die wohl kaum auf die Festplatte passen würden. Es wäre sinnvoller, nur einen Teil des Datums zu verwenden. Wenn man vom Datum beispielsweise nur die Nummer des Monats verwendet, erhält man jeden Monat einen neuen Ordner, insgesamt 12 Ordner pro Jahr.
Wenn das Datumsformat des PC keinen vorangestellten Wochentag aufweist, wird die Variable %DATE:~3,2% die ersten drei Stellen aus dem Datum ignorieren und die darauffolgenden zwei Zeichen herausschneiden: Das ist die Nummer des Monats. Falls das Datumsformat auf Ihrem PC einen vorangestellten Wochentag aufweist, müssen Sie den Parameter %DATE:~6,2% verwenden. Jedoch ist eine Datensicherung, die je nach Betriebssystem unterschiedlich funktioniert, äußerst unpraktisch. Doch es gibt einen Ausweg: in %DATE:~-7,2% bewirkt das Minuszeichen, dass von hinten abgezählt wird! Sieben Zeichen vom Ende beginnend werden zwei Zeichen herausgeschnitten, die Nummer des Monats. %DATE:~-4,4% oder kürzer %DATE:~-4% ergibt die Jahreszahl, und %DATE:~-10,2% liefert den Tag des Monats. Probieren Sie mit echo %DATE:~-7,2% verschiedene Parameter aus!
Wenden wir das Gelernte an. Wenn Sie die folgenden beiden Befehle
md Z:\%DATE:~-7,2%
xcopy Q:\*.doc* Z:\%DATE:~-7,2%\*.doc* /s
regelmäßig ausführen, erhalten Sie im Laufe des Jahres 12 Ordner für Ihre Word-Dateien. Egal, ob Sie Daten mit diesem Befehl täglich, wöchentlich oder gelegentlich sichern, in jedem Fall erfolgen alle Sicherungen in den Ordner des aktuellen Monats. Jeden Monat wird ein neuer Ordner begonnen. Allerdings wird nach einem Jahr das Monatsverzeichnis vom Vorjahr mit den Daten des aktuellen Jahres überschrieben. Wenn Sie das nicht wünschen, müssen Sie den Namen des Monatsordners aus Monats- und Jahresnummer zusammensetzen. %DATE:~6,4% liefert die Jahreszahl. Die Befehle
md Z:\%DATE:~-4%-%DATE:~-7,2%
xcopy Q:\*.* Z:\%DATE:~-4%-%DATE:~-7,2%\*.* /s
würden am 30.12.2018 einen Ordner mit dem Namen 2018-12 erstellen. Und weil als Dateiname *.* angegeben ist, werden alle Dateien gesichert, nicht wie im vorhergehenden Beispiel nur die Word-Dokumente.
Variable manipulieren
Es gibt eine Suchen/Ersetzen Funktion. Beispiel:
set Name=Müller
set Name=%Name:ü=ue%
Ergebnis: Name=Mueller