J'ai une arborescence de dossiers, comme celle-ci (ce n'est qu'un exemple, elle sera plus profonde dans mon cas réel):
C:\test
|
+---folder1
| foo bar.txt
| foobar.txt
|
+---folder2
| foo bar.txt
| foobar.txt
|
\---folder3
foo bar.txt
foobar.txt
Mes fichiers ont un ou plusieurs espaces dans le nom et je dois y exécuter une commande, donc je suis intéressé par foo bar.txt mais pas par foobar.txt.
J'ai essayé (dans un fichier batch):
for /r test %%f in (foo bar.txt) do if exist %%f echo %%f
où la commande est simple echo
.
Cela ne fonctionne pas car l'espace est ignoré et je n'obtiens aucune sortie.
Cela fonctionne mais ce n'est pas ce dont j'ai besoin:
for /r test %%f in (foobar.txt) do if exist %%f echo %%f
Il imprime:
C:\test\folder1\foobar.txt
C:\test\folder2\foobar.txt
C:\test\folder3\foobar.txt
J'ai essayé d'utiliser le guillemet (") mais cela ne fonctionne pas:
for /r test %%f in ("foo bar.txt") do if exist %%f echo %%f
Cela ne fonctionne pas car le guillemet est toujours inclus dans la sortie:
C:\test\folder1\"foo bar.txt"
C:\test\folder2\"foo bar.txt"
C:\test\folder3\"foo bar.txt"