मुझे आश्चर्य है कि एक ड्राइव अक्षर (जैसे X:\foo\bar.txt
) का उपयोग करके पथ को हल करने का सार्वभौमिक तरीका है जो इसके समकक्ष यूएनसी पथ में है, जो निम्न में से एक हो सकता है:एक पथ (प्रतिस्थापन और नेटवर्क) के लिए विंडोज ड्राइव अक्षर को हल करें
X:\foo\bar.txt
अगरX:
कोई वास्तविक दूरी पर स्थित है (यानी हार्ड डिस्क, यूएसबी स्टिक, आदि)\\server\share\foo\bar.txt
अगरX:
नेटवर्क डिस्क\\server\share
C:\xyz\foo\bar.txt
अगरX:
पर रखा है एक 012 का परिणाम हैआदेश मानचित्रणX:
मैं जानता हूँ कि आंशिक समाधान जो होगा देखते हैं कि C:\xyz
रहे हैं:
नेटवर्क डिस्क का समाधान करें (देखें उदाहरण question 556649 जो
WNetGetUniversalName
पर निर्भर करता है के लिए)का समाधान करें
SUBST
ड्राइव अक्षर (देखेंQueryDosDevice
जो अपेक्षा के अनुसार काम करता है, लेकिन स्थानीय ड्राइव या नेटवर्क ड्राइव जैसी चीजों के लिए यूएनसी पथ वापस नहीं करता है)।
क्या मुझे Win32 में इस ड्राइव अक्षर रिज़ॉल्यूशन को लागू करने का कुछ सरल तरीका याद आ रहा है? या मुझे क्या चाहिए मुझे प्राप्त करने के लिए मुझे वास्तव में WNetGetUniversalName
और QueryDosDevice
दोनों के साथ गड़बड़ करनी है?
आह, हाँ, अध्यक्ष एवं प्रबंध निदेशक रास्ते पर जा रहा एक समाधान मैं शुरू में खारिज कर दिया है। मैं वास्तव में एक Win32 एपीआई खोजने की कोशिश कर रहा था जो चाल करेगा। जाहिर है, आपके समाधान को बैच/स्क्रिप्टिंग पर्यावरण में एक ही चीज़ करने की कोशिश करने वाले लोगों के लिए काम करना चाहिए। आपके विचारों के लिए बहुत बहुत धन्यवाद; यह मेरे लिए कुछ सीएमडी चाल खोजने के लिए अवसर था। –
यह स्क्रिप्ट अद्भुत है। बस एक बग - यह प्रतिस्थापित ड्राइव पथ में रिक्त स्थान का समर्थन नहीं करता है। ठीक करने के लिए, पहले से लूप के लिए बदलें: ... टोकन = 1,2 ... से ... टोकन = 1 * ... –
@MrBungle: धन्यवाद! मुझे 'टोकन = 1 *' के बारे में पता नहीं था, जांच करेगा। क्या आप वाकई '1,2 *' नहीं हैं? – Benoit