2011-08-30 10 views
19

शीर्षक पता चलता है, कि कैसे आप वर्तमान ओएस ड्राइव प्राप्त कर सकते हैं, तो आप एक स्ट्रिंग जैसे में यह जोड़ सकते हैं ताकि:वर्तमान विंडोज निर्देशिका कैसे प्राप्त करें उदा। C: सी # में

MessageBox.Show(C:\ + "My Documents"); 

धन्यवाद

+1

[? कैसे ड्राइव है कि ओएस पर स्थापित है के नाम प्राप्त करने के लिए] (http के संभावित डुप्लिकेट: // stackoverflow। कॉम/प्रश्न/200066/कैसे-टू-द-ऑफ-द-द-ड्राइव-द-ओएस-स्थापित-ऑन-ऑन) –

+0

माइल्स आपके प्रश्न के एक बार जवाब के लिए वोट देना न भूलें जवाब दे दिया। –

+0

@ क्यूबिकल। जॉकी शाल करें :) – Miles

उत्तर

47

एक प्रणाली आईओ संदर्भ जोड़ें,

using System IO; 

फिर अपना कोड इस तरह लिखें;

string path = Path.GetPathRoot(Environment.SystemDirectory); 

इस कोड को स्थानीय ड्राइव पत्र के लिए path सेट हो जाएगा कि Windows स्थापित कर दिया गया है। आप उपरोक्त चर का उपयोग अधिक संशोधनों के लिए कर सकते हैं।

जैसे:

MessageBox.Show("Windows is installed to Drive " + path); 

enter image description here

+1

महोदय, मैं विंडोज स्थापना के ड्राइव के बाद हूं: उदा। सी: \ – Miles

+2

@ मील - हाँ, मैं समझता हूं। यही वही है जो पथ। गेटपाथ रूट (पर्यावरण। सिस्टम डायरेक्टरी) आपको देता है। –

+0

धन्यवाद आप !!!!! – Miles

6

वर्तमान निर्देशिका प्राप्त करने के लिए आप का उपयोग कर सकते हैं। Environment.SystemDirectory आपको सिस्टम फ़ोल्डर देगा (यानी: सी: \ विंडोज \ System32)।

var rootOfCurrentPath = Path.GetPathRoot(Environment.CurrentDirectory); 
var driveWhereWindowsIsInstalled = Path.GetPathRoot(Environment.SystemDirectory); 
8

जब एक विशिष्ट फ़ोल्डर की तलाश में (जैसे मेरे दस्तावेज़), एक हार्ड-कोडेड पथ का उपयोग नहीं करते: Path.GetPathRoot आप पथ की जड़ दे देंगे। पथ विंडोज़ के संस्करण-से-संस्करण (C:\Documents and Settings\ बनाम C:\Users\) से बदल सकते हैं और पुराने संस्करणों में स्थानांतरित किए गए थे (C:\Users\user\Documents\ बनाम C:\Usuarios\user\Documentos\)। कॉन्फ़िगरेशन के आधार पर, उपयोगकर्ता प्रोफाइल विंडोज की तुलना में एक अलग ड्राइव पर हो सकता है। विंडोज़ स्थापित नहीं हो सकता है जहां आप इसकी अपेक्षा करते हैं (यह \Windows\ में होना आवश्यक नहीं है)। शायद अन्य मामलों में मुझे पता नहीं है।

इसके बजाय, वास्तविक पथ प्राप्त करने के लिए शैल एपीआई (SHGetKnownFolderPath) का उपयोग करें। .NET में, इन मानों को आसानी से Environment.GetFolderPath से प्राप्त किया जाता है। यदि आप उपयोगकर्ता के मेरे दस्तावेज़ फ़ोल्डर के लिए देख रहे हैं:

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 

Full list of special folders

संबंधित मुद्दे

 संबंधित मुद्दे