Ho un albero delle cartelle, come questo (è solo un esempio, sarà più profondo nel mio caso reale):
C:\test
|
+---folder1
| foo bar.txt
| foobar.txt
|
+---folder2
| foo bar.txt
| foobar.txt
|
\---folder3
foo bar.txt
foobar.txt
I miei file hanno uno o più spazi nel nome e ho bisogno di eseguire un comando su di essi, quindi sono interessato a foo bar.txt ma non a foobar.txt.
Ho provato (all'interno di un file batch):
for /r test %%f in (foo bar.txt) do if exist %%f echo %%f
dove il comando è il semplice echo
.
Non funziona perché lo spazio viene ignorato e non ottengo alcun output.
Funziona ma non è quello di cui ho bisogno:
for /r test %%f in (foobar.txt) do if exist %%f echo %%f
Stampa:
C:\test\folder1\foobar.txt
C:\test\folder2\foobar.txt
C:\test\folder3\foobar.txt
Ho provato a usare le virgolette (") ma non funziona:
for /r test %%f in ("foo bar.txt") do if exist %%f echo %%f
Non funziona perché le virgolette sono ancora incluse nell'output:
C:\test\folder1\"foo bar.txt"
C:\test\folder2\"foo bar.txt"
C:\test\folder3\"foo bar.txt"