У мене є дерево папок, як це (це лише приклад, воно буде глибшим у моєму реальному випадку):
C:\test
|
+---folder1
| foo bar.txt
| foobar.txt
|
+---folder2
| foo bar.txt
| foobar.txt
|
\---folder3
foo bar.txt
foobar.txt
У моїх файлах є одне або кілька пробілів в імені, і мені потрібно виконати команду над ними, тому мене цікавить foo bar.txt, але не foobar.txt.
Я спробував (всередині пакетного файлу):
for /r test %%f in (foo bar.txt) do if exist %%f echo %%f
де команда проста echo
.
Це не працює, оскільки простір пропущено, і я не отримую жодного результату.
Це працює, але це не те, що мені потрібно:
for /r test %%f in (foobar.txt) do if exist %%f echo %%f
Він друкує:
C:\test\folder1\foobar.txt
C:\test\folder2\foobar.txt
C:\test\folder3\foobar.txt
Я спробував використати лапки ("), але це не працює:
for /r test %%f in ("foo bar.txt") do if exist %%f echo %%f
Це не працює, оскільки лапка все ще включена у висновок:
C:\test\folder1\"foo bar.txt"
C:\test\folder2\"foo bar.txt"
C:\test\folder3\"foo bar.txt"