Tôi có một cây thư mục, như thế này (nó chỉ là một ví dụ, nó sẽ sâu hơn trong trường hợp thực tế của tôi):
C:\test
|
+---folder1
| foo bar.txt
| foobar.txt
|
+---folder2
| foo bar.txt
| foobar.txt
|
\---folder3
foo bar.txt
foobar.txt
Các tệp của tôi có một hoặc nhiều khoảng trắng trong tên và tôi cần thực hiện một lệnh trên chúng, vì vậy tôi quan tâm đến foo bar.txt nhưng không phải trong foobar.txt.
Tôi đã thử (bên trong một tệp bó):
for /r test %%f in (foo bar.txt) do if exist %%f echo %%f
trong đó lệnh là đơn giản echo
.
Nó không hoạt động vì không gian bị bỏ qua và tôi không nhận được đầu ra.
Điều này hoạt động nhưng nó không phải là những gì tôi cần:
for /r test %%f in (foobar.txt) do if exist %%f echo %%f
Nó in:
C:\test\folder1\foobar.txt
C:\test\folder2\foobar.txt
C:\test\folder3\foobar.txt
Tôi đã thử sử dụng dấu ngoặc kép (") nhưng nó không hoạt động:
for /r test %%f in ("foo bar.txt") do if exist %%f echo %%f
Nó không hoạt động vì dấu ngoặc kép vẫn được bao gồm trong đầu ra:
C:\test\folder1\"foo bar.txt"
C:\test\folder2\"foo bar.txt"
C:\test\folder3\"foo bar.txt"