rkrausby

Verwendung von "set" in For-Schleife funktioniert nicht

Hallo zusammen.

Ich habe ein kleines Problem beim erstellen einer Abfrage.

Das Hauptproblem liegt darin dass ich innerhalb einer For-Schleife kein "set" ausführen kann.

1
2
3
4
 for /f %%i in ('dir /a-D /o-d /b d:\kill\test\*.*') do (  
set inhalt=%%i
echo %inhalt%
)

Der Hintergrund ist folgender.
Ich möchte mehrere Dateien in Ordner verschieben.
Die Dateien beginnen mit einer 5 stelligen Zahl, wleche dann als Ordner (evtl.) angelegt werden müssen und die Dateien hineigeschoben werden.

Dazu muss ich den ersten 5 Stellen auf Nummer prüfen und eben auch einen Ordner erstellen.
Deshlab wollte ich das Ergebnis Scheife in eine Variable packen um hier den String prüfen und beschneiden zu können.

Aber soweit bin ich noch nicht.

Meine Frage hier wäre erstmal, war um der "set"-Befehl den Inhalt von %%i nicht in die Variable "inhalt" schreibt. Bzw, er macht dies schon, aber erst nach dem 2. Durchlauf und dann auch nur den letzten Dateinamen von 7 Testdateien.

Wo habe ich den Denkfehler.

Wäre für jede Hilfe Dankbar.

Gruß
Robert
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 270025

Url: https://administrator.de/forum/verwendung-von-set-in-for-schleife-funktioniert-nicht-270025.html

Ausgedruckt am: 27.04.2025 um 13:04 Uhr

114757
Lösung 114757 23.04.2015, aktualisiert am 27.04.2015 um 12:54:39 Uhr
Goto Top
Das Hauptproblem liegt darin dass ich innerhalb einer For-Schleife kein "set" ausführen kann.
Und täglich grüßt das Murmeltier ...
1
2
3
4
5
@echo off & setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%i in ('dir /a-D /o-d /b d:\kill\test\*.*') do (  
    set "Inhalt=%%i"  
    echo !Inhalt!
)
Tutorial zur FOR-Schleife (Exkurs (verzögerte) Variablenerweiterung)

Gruß jodel32
rkrausby
rkrausby 23.04.2015 um 13:18:32 Uhr
Goto Top
Hallo jodel32.

Danke für Deine Hilfe und Sorry, dass ich die Lösung nichtgefunden habe.

Ich habe wirklich (Hand auf´s Herz) seit Montag gesucht und auch viele Seiten im Internet gefunden, die zwar Beispiele haben, aber mein Problem nie lösten.
Auf den Suchbegriff "Variablenerweiterung" muss man aber auch erstmal kommen ....

Nochmals Danke für Deine Hilfe

Gruß
Robert