Befehl: for
FOR führt in einer Dateigruppe für jede Datei einen angegebenen
Befehl aus.
FOR ist ein BATCH-DATEI / AUTOEXEC.BAT-Befehl.
Er kann aber auch in der Kommandozeile verwendet werden.
Syntax:
FOR %Variable IN (Dateisatz) DO Befehl [Befehls-Parameter] ODER:
FOR %%Variable IN (Dateisatz) DO Befehl [Befehls-Parameter]
Optionen:
%Variable Ein Name für den Parameter, der durch jeden Dateinamen
ersetzt werden kann. Die Variable darf nur ein Zeichen
lang sein.
%%Variable Ein Name für den Parameter, der durch jeden Dateinamen
ersetzt werden kann. Die Variable darf nur ein Zeichen
lang sein. Wird in einer Batch-Datei mit %% verwendet.
(Dateisatz) Gibt eine Gruppe von einer oder mehreren Dateien an.
Wildcards und ? können verwendet werden.
Befehl Gibt den Befehl an, der für jede Datei ausgeführt werden
soll.
Bef-Parameter Gibt Parameter oder Schalter für den angegebenen Befehl
an.
Kommentar:
Um den FOR-Befehl in einem Stapelprogramm zu benutzen, geben Sie
%%Variable anstelle von %Variable an.
Der FreeDOS-FOR-Befehl unterscheidet nicht, ob in der Kommandozeile
oder einer Batch-Datei EIN oder zwei Prozentzeichen in der Kommando-
zeile verwendet werden. Die Variablen erkennen Groß- / Kleinschreibung
und dürfen nur ein Zeichen lang sein.
FOR ist ein interner Befehl, d.h. der Befehl ist in der command.com
enthalten. Es wird zur Ausführung des Befehls kein zusätzlicher
Befehl (Datei) benötigt.
Beispiel:
In der KOMMANDOZEILE:
Beispiel 1:
Zeigt den Inhalt aller Textdateien im aktuellen Verzeichnis an, eine
nach der anderen:
FOR %f in (*.txt) DO more %f
Beispiel 2:
Die folgenden beiden Befehle listen alle Dateien auf, die mit einem
"a" beginnen. Die Liste beginnt mit "---start---" und endet mit
"---end---". Das "-" Zeichen am Anfang und am Ende jeder Zeile stammt
von "DO ECHO - %f -".
ECHO off
FOR %f IN (---start--- a*.* ---end---) DO ECHO - %f -
ECHO on
Beispiel 3:
Der folgende Befehl schreibt eine Liste aller Dateien im Verzeichnis
in eine .txt-Datei. Sie brauchen ein ">>", sonst wird der erste
geschriebene Text durch den folgenden Text überschrieben:
ECHO off
for %g in (*.*) do echo %g >> echo.txt
ECHO on
Beispiel 4:
Der folgende Befehl erstellt die Ordner01 bis Ordner10:
for %i in (01,02,03,04,05,06,07,08,09,10) DO MD Ordner%i
Sie können statt einem Komma auch eine Leertaste verwenden, z.B.:
for %j in (01 02 03 04 05 06 07 08 09 10) DO MD Ordner%j
Beispiel 5:
Der folgende Befehl löscht in einer BATCH-Datei alle Dateien, die mit
"tmp" enden oder mit "temp" beginnen:
for %%b in (*.tmp temp????.*) do del %%b
Bitte beachten Sie, dass bei Variablen die Groß- und Kleinschreibung
beachtet werden muss, d.h. %b darf nicht mit %B gemischt werden.
Bitte denken Sie auch daran, daß in BATCH-Dateien ´% doppelt
geschrieben sein muß.
Siehe auch:
autoexec.bat/fdauto.bat
Batch Diles
command.com/freecom
set
shift
Copyright © 2003 Robert Platt, aktualisiert 2007,
2022 und 2024 von W. Spiegl.
Diese Datei ist abgeleitet vom FreeDOS Spezifikationen-HOWTO.
Vgl. auch die Datei H2Cpying bezüglich der Kopierbedingungen.