बस जब मैंने सोचा कि मैंने इसे विंडोज़ पथ के मुद्दों के साथ देखा होगा, तो अब मुझे एक ऐसा मामला सामने आया है जब केवल '/' (फॉरवर्ड-स्लैश) का उपयोग पथ विभाजक के रूप में किया जाता है:Windows पर cmd.exe खोल क्यों फॉरवर्ड-स्लैश ('/' ') पथ विभाजक का उपयोग कर पथों के साथ विफल रहता है?
C:\temp\tcbugs>mkdir "dir1 with spaces"
C:\temp\tcbugs>echo hi > "dir1 with spaces"\foo.txt
C:\temp\tcbugs>type "dir1 with spaces\foo.txt"
hi
C:\temp\tcbugs>type "dir1 with spaces/foo.txt"
The system cannot find the file specified.
क्या इस बारे में विशेष रूप से दिलचस्प है कि यह cmd.exe खोल करने के लिए विशिष्ट हो गया लगता है और (और न ही शायद Win32 एपीआई में) PowerShell में नहीं होती है:
PS C:\temp\tcbugs> type 'dir1 with spaces/foo.txt'
hi
ब्याज का एक और मुद्दा क्या 'सीडी' के साथ निर्देशिका बदलना और cmd.exe के साथ पथ विभाजक के रूप में उपयोग किए जाने वाले '/' का उपयोग करना काम करता है:
C:\temp\tcbugs>mkdir dir2_no_spaces
C:\temp\tcbugs>cd ./dir2_no_spaces
C:\temp\tcbugs\dir2_no_spaces>cd ..
फिर भी, मैं इस विशेष समस्या के लिए किसी भी संदर्भ नहीं मिल सकता है कहीं भी ऑनलाइन है और न ही MSDN के सामान्यतः उद्धृत दस्तावेज में:
Naming Files, Paths, Namespaces
कौन सा मुझे ओर जाता है पूछने के लिए: क्यों होता है, और है वहाँ एक निश्चित स्रोत है जो इस quirk दस्तावेज?
अद्यतन:
dbenham बताते हैं कि समस्या चाहे रिक्त स्थान एक निर्देशिका नाम पर कर रहे हैं की परवाह किए बिना मौजूद है, शीर्षक में इसे करने के लिए तो हटा संदर्भ और शरीर सवाल उठाते हैं। यह भी काम करता है कि 'cd ./' का एक उदाहरण जोड़ा गया है, जबकि अन्य आदेश नहीं हैं।
'/' को एपीआई स्तर पर पथ विभाजक के रूप में उपयोग किया जा सकता है, लेकिन आप सीधे एपीआई को कॉल नहीं कर रहे हैं। आप cmd.exe का उपयोग कर रहे हैं, और cmd.exe '/ 'को कमांड लाइन विकल्प के रूप में पार करता है। –
मुझे बहुत संदेह था, लेकिन यह भी उम्मीद है कि इस मामले को कवर करने वाले कुछ विशेष रूप से कहीं भी दस्तावेज किए जाएंगे। मैंने जो दस्तावेज पाया है, वह पथ विभाजक को कवर करता है - यहां तक कि cmd शैल के संदर्भ में - इस विशेष मुद्दे का उल्लेख नहीं करता है, जहां तक मैं कह सकता हूं। – Garen
स्लैश कहने वाले प्रलेखन cmd.exe में पथ विभाजक के रूप में उपयोग किया जा सकता है? –