werner1954
Goto Top

Verzeichnisname wird nicht in Variable übernommen

Hallo zusammen

Bin absolut neu hier. Sollte eine kleine Automations-bat erstellen.
Auslesen Unterverzeichnisse in bestimmtem Verzeichnis und danach, abhängg von den ersten 3 Stellen des Verzeichnisnamens, weiterverarbeiten.

Das Problem:
in folgendem Beispiel wird %%i korrekt ausgelesen die Variable %VerzName% bleibt aber leer, das heisst, mit echo wird nichts ausgegeben.

set QPfad=o:\MeinPfad\*.*
for /f %%i in ('dir "%QPfad%\.." /b /ad') do (
Set VerzName=%%i
echo %VerzName%
)


Vielen Dank für Eure Hilfe.

Content-Key: 221613

Url: https://administrator.de/contentid/221613

Printed on: April 20, 2024 at 04:04 o'clock

Member: colinardo
colinardo Nov 10, 2013 updated at 14:10:47 (UTC)
Goto Top
Hallo Werner1964, Willkommen im Forum!
Bitte lese Dir mal folgendes Exkurs (verzögerte) Variablenerweiterung. Du benötigst dazu das sogenannte "Delayed Expansion".
Damit sähe deine Batch dann so aus:
setlocal ENABLEDELAYEDEXPANSION
set "QPfad=o:\MeinPfad\*.*"  
for /f %%i in ('dir "%QPfad%\.." /b /ad') do (  
  Set VerzName=%%i
  echo !VerzName!
)
Du benötigst also für die verzögerte Variablenerweiterung am Anfang das setlocal ENABLEDELAYEDEXPANSION und die Variable in der Schleife muss anstatt mit Prozentzeichen mit Ausrufezeichen umschlossen werden.
Grüße Uwe
Member: Werner1954
Werner1954 Nov 10, 2013 at 14:49:23 (UTC)
Goto Top
Vielen Dank für die schnelle Hilfe