2012-01-28 17 views
15

लेकिन मैं एक कोड ढूंढ रहा हूं जो मेरे बैच फ़ाइल का उपयोग करने के लिए मेरे बैच फ़ाइल का उपयोग करने वाले किसी भी उपयोगकर्ता को अनुमति देगा। विचार यह है कि वे 3 टाइप करेंगे, एंटर दबाएंगे, और फिर प्रोग्राम उनके "मेरे दस्तावेज़" फ़ोल्डर को खोल देगा।उपयोगकर्ता के फ़ोल्डर में एक फ़ोल्डर खोलने के लिए बैच (सी: उपयोगकर्ता उपयोगकर्ता नाम my दस्तावेज़)?

दुर्भाग्यवश प्रत्येक उपयोगकर्ता का एक अलग नाम होता है, इसलिए निम्न आदेश तब तक काम नहीं करेगा जब तक उसके पास कोई विशिष्ट नाम न हो।

%SystemRoot%\explorer.exe c:\users\James\My Documents 

क्या "जेम्स" के लिए कुछ प्रकार का प्रतिस्थापन है? एक सार्वभौमिक आदेश?

+0

यह [सर्वरफॉल्ट पर भी सवाल पूछा गया है] (http://serverfault.com/questions/10938/finding-users-documents-folder-in-bat-script)। [यह सबसे अच्छा जवाब है] (http://serverfault.com/a/185847/12770), यह उन उपयोगकर्ताओं के लिए भी खाता है जिन्होंने अपने दस्तावेज़ विशेष फ़ोल्डर को स्थानांतरित कर दिया है। –

उत्तर

25

आप %UserProfile% वातावरण चर, जिनमें से व्यक्तिगत फ़ोल्डर में सीधे अंक उपयोग कर सकते हैं उपयोगकर्ता के प्रवेश:

%SystemRoot%\explorer.exe %UserProfile%\My Documents 

आप विंडोज 7 का उपयोग कर रहे -अगर एक्सप्लोरर% UserProfile% \ दस्तावेज़ बस करो (चाहिए अन्य विंडोज़ के साथ काम करें लेकिन मैंने कोशिश नहीं की है ...)

ऐसा इसलिए है क्योंकि सिस्टम रूट में किसी भी exe को कमांड के रूप में इस्तेमाल किया जा सकता है और मेरे ज्ञान के लिए विंडोज़ के अधिकांश संस्करणों में "दस्तावेज़" नामक फ़ोल्डर नहीं है "मेरा दस्तावेज़ "यह उपयोगकर्ता के लिए ऐसा लगता है (संगीत आदि के लिए भी)

+2

'मेरा दस्तावेज़' भाग तय नहीं है। यह विंडोज संस्करणों और स्थापना भाषा के साथ बदलता है। – salva

+1

यह विश्वसनीय रूप से काम नहीं करता है। विंडोज उपयोगकर्ताओं को अपने दस्तावेज़ दस्तावेज़ को अन्य स्थानों पर ले जाने देता है, जैसे कि यह सीधे उनके% UserProfile% स्थान के अंतर्गत नहीं है। –

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