Tengo un árbol de carpetas, como este (es solo un ejemplo, será más profundo en mi caso real):
C:\test
|
+---folder1
| foo bar.txt
| foobar.txt
|
+---folder2
| foo bar.txt
| foobar.txt
|
\---folder3
foo bar.txt
foobar.txt
Mis archivos tienen uno o más espacios en el nombre y necesito ejecutar un comando sobre ellos, así que estoy interesado en foo bar.txt pero no en foobar.txt.
Intenté (dentro de un archivo por lotes):
for /r test %%f in (foo bar.txt) do if exist %%f echo %%f
donde el comando es el simple echo
.
No funciona porque se omite el espacio y no obtengo salida.
Esto funciona pero no es lo que necesito:
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
Intenté usar las comillas (") pero no funciona:
for /r test %%f in ("foo bar.txt") do if exist %%f echo %%f
No funciona porque las comillas todavía se incluyen en la salida:
C:\test\folder1\"foo bar.txt"
C:\test\folder2\"foo bar.txt"
C:\test\folder3\"foo bar.txt"