Ich habe einen Ordnerbaum wie diesen (es ist nur ein Beispiel, er wird in meinem realen Fall tiefer gehen):
C:\test
|
+---folder1
| foo bar.txt
| foobar.txt
|
+---folder2
| foo bar.txt
| foobar.txt
|
\---folder3
foo bar.txt
foobar.txt
Meine Dateien haben ein oder mehrere Leerzeichen im Namen und ich muss einen Befehl für sie ausführen, daher interessiere ich mich für foo bar.txt, aber nicht für foobar.txt.
Ich habe versucht (in einer Batch-Datei):
for /r test %%f in (foo bar.txt) do if exist %%f echo %%f
wo der Befehl ist der einfache echo.
Es funktioniert nicht, weil der Speicherplatz übersprungen wird und ich keine Ausgabe erhalte.
Das funktioniert, aber es ist nicht das, was ich brauche:
for /r test %%f in (foobar.txt) do if exist %%f echo %%f
Es druckt:
C:\test\folder1\foobar.txt
C:\test\folder2\foobar.txt
C:\test\folder3\foobar.txt
Ich habe versucht, das Anführungszeichen (") zu verwenden, aber es funktioniert nicht:
for /r test %%f in ("foo bar.txt") do if exist %%f echo %%f
Es funktioniert nicht, da das Anführungszeichen noch in der Ausgabe enthalten ist:
C:\test\folder1\"foo bar.txt"
C:\test\folder2\"foo bar.txt"
C:\test\folder3\"foo bar.txt"