Windows Praxis-Tipp

Windows 10: So erstellen und nutzen Sie Batch-Dateien

Zum einen vereinfachen Batch-Dateien Aufgaben, zum anderen arbeiten sie mehrere Aufgaben in einem Rutsch ab. Auch in Windows 10 sind Batch-Dateien nützliche Helfer. Wir zeigen Ihnen, wie Sie diese optimal einsetzen.

Inhalt
  1. Windows 10: So erstellen und nutzen Sie Batch-Dateien
  2. Batch-Dateien von der Taskleiste aufrufen
Microsoft hat eine neue Windows-10-Preview als ISO-Download veröffentlicht.

© Microsoft

Tipps & Tricks: So erstellen und nutzen Sie Batch-Dateien​

Um in den Genuss von den Vorteilen von Batch-Dateien zu kommen, werden Sie zwar um ein wenig Programmierarbeit nicht herumkommen; das sollte Sie aber nicht weiter abschrecken. Das Erlernen der Batch-Programmierung erfordert im Allgemeinen nicht viel Zeit und Mühe

Editor für Batch-Dateien

Grundsätzlich können Sie Batch-Dateien mit jedem Texteditor erstellen, wobei sich als Windows-Anwender natürlich der Windows Editor anbietet. Mehr Komfort haben Sie jedoch im Editor Notepad++ (https://notepad-plus-plus.org). 

Notepad++ bietet gegenüber dem Windows Editor viele zusätzliche Funktionen, und er unterstützt auch speziell die Batch-Programmierung. So enthält er etwa eine Auto-Vervollständigung für Batch-Befehle. 

Auch das bekannte Problem mit den Umlauten lässt sich mit diesem Editor elegant umgehen.

Windows 10: So erstellen und nutzen Sie Batch-Dateien - Notepad++ Screenshot

© Screenshot & Montage: PC Magazin

Notepad++ integriert sich nach der Installation im Windows- Explorer-Kontextmenü, sodass Sie jede Batch-Datei per Rechtsklick zur Bearbeitung öffnen können.

Umlaute in Batch-Dateien korrekt ausgeben 

Die Ausgabe von Umlauten und auch des Buchstaben ß ist in Batch-Dateien von jeher ein Problem. Mit dem Editor Notepad++ lässt sich das Problem lösen.

Die Buchstaben ä, ö, ü und ß werden bei der Ausgabe mit dem echo-Befehl normalerweise völlig verzerrt dargestellt. Mit dem Notepad++-Editor können Sie das jedoch korrigieren. 

Klicken Sie in der oberen Menüleiste auf Sprachen, wenn Sie die Batch-Datei im Editor geladen haben. Wählen Sie dann im aufklappenden Menü den Buchstaben M und anschließend MS-DOS Style. Schreiben Sie nun die gewünschten Umlaute sowie den Buchstaben ß in den Batch-Code. Speichern Sie die Änderung. 

Nun stellen Sie die Sprache im Notepad++-Editor wieder auf Batch ein (Sprachen/B/Batch). Jetzt werden Umlaute und der Buchstabe ß beim Ausführen der Batch-Datei korrekt ausgegeben. Das betrifft übrigens auch alle weiteren Umlaute. In diesem Fall brauchen Sie die Sprache in Notepad++ nicht mehr zu ändern.

Windows 10: So erstellen und nutzen Sie Batch-Dateien - Notepad++ MS-DOS Style Screenshto

© Screenshot & Montage: PC Magazin

Stellen Sie in Notepad++ pro Batch-Datei nur einmal temporär auf MS-DOS Style um. Danach sind Umlaute und der Buchstabe ß bei der Ausgabe kein Problem mehr.

In aller Kürze – ein paar Grundlagen 

Standardmäßig werden beim Ausführen einer Batch-Datei alle enthaltenen Codezeilen, einschließlich der auskommentierten Batch-Befehle, mit ausgegeben. Das ist natürlich nur in den seltensten Fällen erwünscht.

Mit dem Befehl @echo off können Sie dieses Echo unterbinden. Schreiben Sie dazu den Befehl an den Anfang Ihrer Batch-Datei. Ansonsten ist der echo-Befehl, ohne das @-Zeichen, für Ausgaben zuständig.

Mit dem Befehl title können Sie einen Fenstertitel festlegen. Mit dem Befehl color ändern Sie für die Konsole die Hintergrund-  und die Schriftfarbe. Beide Farbangaben erfolgen in Hexadezimalform, color 8F legt beispielsweise einen dunkelgrauen Hintergrund (Wert 8) und eine weiße Schriftfarbe (Wert F) fest.

Weitere Farbwerte: 0 = Schwarz, 1 = Dun- kelblau, 2 = Dunkelgrün, 3 = Blaugrün, 4 = Dunkelrot, 5 = Lila, 6 = Ocker, 7 = Hellgrau, 9 = Blau, A = Grün, B = Zyan, C = Rot, D = Mgenta, E = Gelb. 

Kommentarzeilen werden mit REM, gefolgt von einem Leerzeichen, eingeleitet. Kommentare werden beim Ausführen einer Batch-Datei komplett ignoriert. 

Sie sind in erster Linie dazu da, den Batch-Code zu erklären. Sie können aber auch eingesetzt werden, um ansonsten lauffähige Befehle auszukommentieren, also praktisch zu deaktivieren. 

Wenn man die auskommentierten Anweisungen später in das Batch-Programm integrieren möchte, braucht man nur das REM am Anfang der Zeile zu entfernen. 

In Notepad++ brauchen Sie beides nicht einmal selbst zu tun: Nach Rechtsklick auf eine Zeile bietet das Kontextmenü die Optionen Auswahl auskommentieren sowie Auskommentierung der Auswahl aufheben.

Windows 10: So erstellen und nutzen Sie Batch-Dateien - Notepad++ Code auskommentieren

© Screenshot & Montage: PC Magazin

Der Editor Notepad++ ist mit einem Kontextmenübefehl beim Auskommentieren behilflich.

Groß- und Kleinschreibung spielen in der Batch-Programmierung übrigens keine Rolle, daher könnte man REM zum Beispiel auch kleinschreiben (üblicherweise wird es aber großgeschrieben). 

Variablen werden mit set deklariert, und wenn eine Benutzereingabe in die Variable geschrieben werden soll, lautet die allgemeine Syntax folgendermaßen: set /p <Variable>=<Ausgabe>
Wobei <Variable> für den Namen der Variablen und <Ausgabe> für den Text steht, der dem Benutzer angezeigt werden soll. 

Wenn Sie auf die Variable zugreifen, setzen Sie vor und nach dem Variablennamen jeweils ein Prozentzeichen.  

Der Benutzer wird zunächst aufgefordert, die Anzahl der zu öffnenden Windows-Explorer-Fenster anzugeben (maximal fünf):
set /p ANZAHL=Anzahl Windows-Explorer-Fenster (max. 5):
IF %ANZAHL% LSS 1 (set ANZAHL=1)

Die IF-Anweisung prüft, ob der Wert der Variablen ANZAHL kleiner als eins ist und setzt in diesem Fall die Variable auf diesen Wert, sodass das Batch-Programm im Weiteren zumindest ein Windows-Explorer-Fenster öffnet. 

Der Vergleichsoperator LSS ist Teil der command extensions, die in Windows 7/8.1/10 standardmäßig aktiviert sind; er bedeutet kleiner als (in früheren Zeiten war in Batch-Programmen nur die Überprüfung auf Gleichheit möglich). 

Weitere Vergleichsoperatoren sind LEQ (kleiner als oder gleich), GTR (größer als ), GEQ (größer als oder gleich), NEQ (ungleich) sowie EQU oder das ältere == für die Überprüfung auf Gleichheit.

Mehr lesen

Microsoft Windows 7 Design für Windows 10: So geht's
Betriebssystem

Wir zeigen, wie Sie vertraute Elemente aus Windows 7 auch in Windows 10 nutzen können.

Programme aus dem Batch-Code heraus starten

Mit dem Befehl start rufen Sie in der Batch-Datei andere Programme auf. Die Anweisung start explorer.exe startet zum Beispiel den Windows-Explorer. Wenn die Batch-Datei gleich mehrere Windows-Explorer- Instanzen starten soll, führen Sie diese Anweisung im Code einfach wiederholt per Schleife aus: for /L %%I IN (1, 1, %ANZAHL%) DO (start explorer.exe)

Es handelt sich um eine typische Zählschleife. Beachten Sie, dass der Name der Schleifenvariablen (hier I, mit zwei vorangestellten Prozentzeichen) nur aus einem einzigen Buchstaben bestehen darf. 

Die Angaben in der ersten Klammer bedeuten den Startwert der Schleifenvariablen, die Schrittweite, also um welchen Wert die Schleifenvariable nach jedem Durchlauf erhöht werden soll, sowie den Endwert, der hier der Variablen ANZAHL entnommen wird. 

Da der Speicherort dieser Programme in der Regel im Systempfad liegt, ist es nicht notwendig, den Pfad zur ausführbaren Datei mit anzugeben. Vorschlag: Erstellen Sie sich eine Batch-Datei, die alle Anwendungen, mit denen Sie praktisch in jeder Windows-Sitzung arbeiten, auf einmal startet. Dann brauchen Sie das nicht selbst zu tun. 

Schreiben Sie die erforderlichen Startbefehle einfach hintereinander. Übrigens können Sie auf diese Weise auch Webseiten öffnen. Mit start https://www.pc-magazin.de zeigen Sie zum Beispiel die PC-Magazin- Homepage in Ihrem Standard-Browser an.

Mehr lesen

Windows 10: Aktuelle Version
Versionsgeschichte und -vergleich

Was ist die aktuelle Windows-10-Version? Welche Version habe ich installiert? Hier gibt die Antworten und eine Übersicht der aktuellen Versionen.

Systemvariablen verwenden 

Des Weiteren können Sie im Batch-Code auf alle Systemvariablen zugreifen. Diese werden dabei ebenfalls in zwei Prozentzeichen eingefasst. Mit %USERNAME% können Sie zum Beispiel den Namen des Windows-Benutzers ausgeben, und mit %COMPUTERNAME% erhalten Sie den Namen des Computers, auf dem die Batch-Datei ausgeführt wird. 

%USERDOMAIN% liefert im Netzwerk die Domäne des angemeldeten Benutzers, bei einem lokalen Account ebenfalls den Computernamen. Mit der Anweisung echo %date% können Sie das aktuelle Datum ausgeben und mit echo %time% die Zeit. Natürlich können Sie beide Daten auch in einem echo-Befehl verarbeiten, zum Beispiel:
echo Datum: %date%, Zeit: %time%

Mit %ProgramFiles% greifen Sie auf den Installationspfad (meist C:\Programme) zu. Die Systemvariable %SystemRoot% steht für das Verzeichnis und %SystemDrive% für das Laufwerk, in dem Windows installiert ist, %USERPROFILE% für den Benutzerordner. 

Mit %windir% haben Sie Zugriff auf das Windows-Verzeichnis, die Variable %0% liefert den Namen der Batch-Datei, die gerade ausgeführt wird, einschließlich des Pfades, und mit %RANDOM% können Sie sogar Zufallszahlen (zwischen 0 und 32767) erzeugen. 

Folgender Code zeigt ein Beispiel für den Einsatz von Systemvariablen in Batch-Dateien. Das Batch-Programm leert auf Nachfrage das TEMP- Verzeichnis und zeigt vorher an, wo es sich auf dem Computer befindet. 

In diesem Verzeichnis sammeln sich mit der Zeit viele Dateien und Unterordner an, die nur temporär gebraucht werden und danach praktisch überflüssig sind; falls Dateien noch gebraucht werden, werden diese nicht gelöscht. 

Der Zugriff auf das TEMP-Verzeichnis erfolgt mit der Variablen %temp%. Folgender Befehl zeigt den kompletten Pfad:
echo Ihr Temp-Verzeichnis befindet sich in %temp%

Mehr lesen

PC schneller machen & beschleunigen
Erste Maßnahmen

Windows 10 ist langsam und Sie wollen nicht gleich ein Hardware-Upgrade durchführen? Wir haben 4 Tipps für ein schnelleres System.

Danach folgt in bekannter Manier die Rückfrage, ob das TEMP-Verzeichnis gelöscht werden soll:
set /p AUSWAHL=Soll das Temp-Verzeichnis geleert werden? (j/n). 

Die Eingabe des Benutzers wird in der Variablen AUSWAHL gespeichert. Lautet sie j für Ja, wird das TEMP-Verzeichnis geleert. Bei allen anderen Zeichen erfolgt keine Aktion, sondern nur eine Mitteilung, dass das TEMP-Verzeichnis nicht geleert wurde (n und alle anderen Zeichen, zum Beispiel auch das große J, werden der Einfachheit halber gleichbehandelt). 

Hier die zuständige IF-Anweisung mit ELSE-Zweig:
IF %AUSWAHL% == j (
del /f /s /q %temp%\*.*
) ELSE (
echo Temp-Verzeichnis wurde nicht geleert
)
 

Der del-Befehl mit den angegebenen Parametern löscht den gesamten Inhalt des TEMP-Verzeichnisses, ohne das Verzeichnis selbst anzufassen. Beachten Sie, dass das folgende ELSE immer in einer Zeile mit den Klammern stehen muss.

Mehr zum Thema

Geforce RTX 2080 Ti Release
Gaming-Einstellungen

Windows 10 ist auch zum Spielen da. Wir zeigen Ihnen, wie Sie die Einstellungen für Microsofts Betriebssystem für optimale Spiele-Performance…
Dateiinhaltssuche unter Windows: aktivieren und deaktivieren
Windows Tipps

Wir zeigen Ihnen hier, wie Sie die Suche nach Dateiinhalten unter Windows 10 & 8.1 aktivieren und deaktivieren können.
Windows 10
Computer aufräumen

Unter Windows 10 lässt sich der Papierkorb einblenden und ausblenden. Wo Sie diesen wichtigen Ordner auf Ihrem Computer finden, zeigen wir Ihnen in…
Windows 10
Desktop, Designs, Wallpaper und Co.

Sie können die Optik von Windows 10 so verändern, dass es eine eigene Note bekommt. Das funktioniert mit Bordmitteln und externen Tools.
Windows 10
Microsoft-Betriebssystem besser nutzen

Wir präsentieren hilfreiche Tipps und Tricks, mit denen Sie mehr aus Ihrem Windows-10-System herausholen können.