Eu tenho uma árvore de pastas, como esta (é apenas um exemplo, será mais profundo no meu caso real):
C:\test
|
+---folder1
| foo bar.txt
| foobar.txt
|
+---folder2
| foo bar.txt
| foobar.txt
|
\---folder3
foo bar.txt
foobar.txt
Meus arquivos têm um ou mais espaços no nome e eu preciso executar um comando neles, por isso estou interessado em foo bar.txt, mas não em foobar.txt.
Eu tentei (dentro de um arquivo em lotes):
for /r test %%f in (foo bar.txt) do if exist %%f echo %%f
onde o comando é simples echo
.
Não funciona porque o espaço foi ignorado e não recebo saída.
Isso funciona, mas não é o que eu preciso:
for /r test %%f in (foobar.txt) do if exist %%f echo %%f
Imprime:
C:\test\folder1\foobar.txt
C:\test\folder2\foobar.txt
C:\test\folder3\foobar.txt
Eu tentei usar as aspas ("), mas não funciona:
for /r test %%f in ("foo bar.txt") do if exist %%f echo %%f
Não funciona porque as aspas ainda estão incluídas na saída:
C:\test\folder1\"foo bar.txt"
C:\test\folder2\"foo bar.txt"
C:\test\folder3\"foo bar.txt"