Mam drzewo folderów, takie jak to (to tylko przykład, będzie głębsze w moim prawdziwym przypadku):
C:\test
|
+---folder1
| foo bar.txt
| foobar.txt
|
+---folder2
| foo bar.txt
| foobar.txt
|
\---folder3
foo bar.txt
foobar.txt
Moje pliki mają jedną lub więcej spacji w nazwie i muszę wykonać na nich polecenie, więc interesuje mnie foo bar.txt, ale nie foobar.txt.
Próbowałem (w pliku wsadowym):
for /r test %%f in (foo bar.txt) do if exist %%f echo %%f
gdzie polecenie jest proste echo
.
To nie działa, ponieważ przestrzeń jest pomijana i nie otrzymuję danych wyjściowych.
To działa, ale nie jest to, czego potrzebuję:
for /r test %%f in (foobar.txt) do if exist %%f echo %%f
Drukuje:
C:\test\folder1\foobar.txt
C:\test\folder2\foobar.txt
C:\test\folder3\foobar.txt
Próbowałem użyć znaku cudzysłowu („), ale to nie działa:
for /r test %%f in ("foo bar.txt") do if exist %%f echo %%f
To nie działa, ponieważ znak cudzysłowu jest nadal zawarty w danych wyjściowych:
C:\test\folder1\"foo bar.txt"
C:\test\folder2\"foo bar.txt"
C:\test\folder3\"foo bar.txt"