मेरे पास एक फ़ोल्डर ट्री है, इस तरह (यह केवल एक उदाहरण है, यह मेरे वास्तविक मामले में गहरा होगा):
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"