2009-04-23 19 views
12

में पथ विभाजक बदलें \ के बजाय हमेशा / आउटपुट करने के लिए PowerShell प्राप्त करना संभव है? उदाहरण के लिए, मैं प्राप्त स्थान का आउटपुट सी:/दस्तावेज़ और सेटिंग्स/प्रशासक होना चाहता हूं।विंडोज पावरशेल

अद्यतन

की जगह उपयोग करने के उदाहरण के लिए धन्यवाद, लेकिन मैं इस विश्व स्तर पर (जैसे टैब पूरा होने के, आदि) होने की उम्मीद कर रही थी। मैट के अवलोकन के आधार पर कि विभाजक को System.IO.Path.DirectorySeparatorChar द्वारा परिभाषित किया गया है जो अभ्यास में और प्रलेखन से केवल पढ़ने के लिए प्रतीत होता है, मुझे लगता है कि यह संभव नहीं है।

उत्तर

6

यह एक अच्छा सवाल है। अंतर्निहित .NET फ़्रेमवर्क System.IO.Path.DirectorySeparatorChar के रूप में इस सतहों, और यह एक पढ़ने/संपत्ति लिखना है, तो मैं आप ऐसा कर सकता है सोचा:

[IO.Path]::DirectorySeparatorChar = '/' 

... और कहा कि, सफल होने के लिए छोड़कर तब दिखाई देते हैं फिर आप इसे टाइप करें:

[IO.Path]::DirectorySeparatorChar 

... यह आपको बताता है कि यह अभी भी '\' है। ऐसा लगता है कि यह "पकड़ लेना" नहीं है। बिल्ली, मुझे यह भी यकीन नहीं है कि PowerShell उस विशेष मूल्य का सम्मान करता है भले ही वह बदल रहा हो।

मैंने सोचा कि मैं इसे पोस्ट करूंगा (इसके जोखिम में वास्तव में आपके प्रश्न का उत्तर नहीं दे रहा है) यदि यह किसी और को असली जवाब खोजने में मदद करता है। मुझे यकीन है कि यह निर्देशिका SeparatorChar क्षेत्र के साथ कुछ करने के लिए होगा।

+0

क्या यह केवल एक स्प्लिट-पथ कमांड पर लागू करने का कोई तरीका है? (बैकस्लैश के बजाय इसे स्लैश वापस करना।) –

7

"\" के साथ "\" को बदलें।

PS C:\Users\dance2die> $path = "C:\Documents and Settings\Administrator" 
PS C:\Users\dance2die> $path.Replace("\", "/") 
C:/Documents and Settings/Administrator 
2

आप एक फिल्टर (या समारोह) आप के लिए पाइप अपने पथ कर सकते हैं कि बना सकते हैं:

PS C:\> filter replace-slash {$_ -replace "\\", "/"} 
PS C:\> Get-Location | replace-slash 
C:/ 
संबंधित मुद्दे