2010-05-26 24 views
6

एक आसान सवाल; स्थानीय निर्देशिका का मार्ग कैसे ढूंढें जिसमें मेरा exe रखा गया है? जैसा कि मेरे पास एक .exe है और प्रोग्राम में मुझे निर्देशिका में एक txt फ़ाइल बनाना है जहां exe है!स्थानीय निर्देशिका का पथ

[भाषा - सी #]

तो, अगर exe सी में है:/अस्थायी है और वहाँ से शुरू कर दिया है; मेरा txt सी में बनाया जाना चाहिए:/Temp

यदि उपयोगकर्ता exe को डी:/Temp में स्थानांतरित करना चाहता है और वहां से चलता है; मैं डी में txt फ़ाइल बनाने में सक्षम होना चाहिए:/Temp

मैंने निर्देशिका.GetCurrentDirectory() की कोशिश की लेकिन यह प्रोग्राम के निष्पादन की निर्देशिका देता है!

उत्तर

15

Assembly.GetExecutingAssembly().Location

+9

"असेंबली" कक्षा सिस्टम का हिस्सा है। प्रतिबिंब नामस्थान - उन लोगों के लिए जो इसकी तलाश करेंगे ... –

0

आप इस कोशिश कर सकते:

this.GetType().Assembly.CodeBase 

या यह एक WinForms अनुप्रयोग है अगर

Application.ExecutablePath 
6

इस

sPath = System.AppDomain.CurrentDomain.BaseDirectory; 

वरना

01 की कोशिश
sAppPath = Environment.CurrentDirectory; 
1

इसी तरह की जानकारी System.Appdomain.BaseDirectory में है, मूल निर्देशिका जो असेंबली रिज़ॉल्यूवर असेंबली की जांच के लिए उपयोग करती है। साधारण मामलों में, यह मूल .exe असेंबली के स्थान पर इंगित करेगा।

String path = AppDomain.CurrentDomain.BaseDirectory; 
0

आप Application.StartupPath उपयोग कर सकते हैं। यह निष्पादन योग्य फ़ाइल के लिए पथ प्राप्त करता है जिसने एप्लिकेशन को प्रारंभ किया, निष्पादन योग्य नाम सहित नहीं।

+1

वीएस 2010 में डीबगर से चलते समय "सी: \ प्रोग्राम फ़ाइलें (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 10.0 \ कॉमन 7 \ आईडीई "। –

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