Hallo,
ich habe ein Verzeichnis:
C:\Temp\Test\
darin liegen zwei Ordner:
"Ordner1" und "Ordner 2"
(beim zweiten ist ein Leerzeichen drin)
Ich habe eine Batchdatei, die alle Verzeichnisse abarbeitet. Leider bringt diese bei "Ordner 2"
nur "Ordner".
Gibt es eine Möglichkeit die batchdatei so umzustellen, dass der Name "Ordner 2" korrekt erkannt wird ?
Hier die Datei:
@echo off
cd C:\Temp\Test
for /f "delims=" %%i in ('dir /b /ad') do call :Schleife %%i
goto :eof
:Schleife
echo %1
echo %~f1
pause
goto :eof
Programmieren - alles kontrollieren 4.939 Themen, 20.672 Beiträge
for /f "delims=" %%i in ('dir /b /ad') do call :Schleife %%i
Solltest Du in
for /f "delims=" %%i in ('dir /b /ad') do call :Schleife "%%i"
ändern. Innerhalb der Unterfunktion ebenfalls Anführungszeichen verwenden.
Noch zwei Anmerkungen:
FOR bietet auch direkt eine Option zum durchlaufen von Verzeichnissen. Das wäre sicher eine bequemere und übersichtlichere Lösung als die Verrenkung mit dir ;-)
Die NT-Erweiterungen erlauben auch Codeblöcke durch Klammern zu definieren. Ein Funktionsaufruf wäre hier nicht zwingend erforderlich. Was übersichtlicher ist mußt Du natürlich selbst entscheiden, zur Wiederverwandbarkeit ist eine Funktion natürlich schöner.
Gruß
Borlander
Solltest Du in
for /f "delims=" %%i in ('dir /b /ad') do call :Schleife "%%i"
ändern. Innerhalb der Unterfunktion ebenfalls Anführungszeichen verwenden.
Noch zwei Anmerkungen:
FOR bietet auch direkt eine Option zum durchlaufen von Verzeichnissen. Das wäre sicher eine bequemere und übersichtlichere Lösung als die Verrenkung mit dir ;-)
Die NT-Erweiterungen erlauben auch Codeblöcke durch Klammern zu definieren. Ein Funktionsaufruf wäre hier nicht zwingend erforderlich. Was übersichtlicher ist mußt Du natürlich selbst entscheiden, zur Wiederverwandbarkeit ist eine Funktion natürlich schöner.
Gruß
Borlander