2017-01-31 10 views
8

के बीच व्यवहार भिन्न होने मैं इस मुद्दे के साथ एक सा उलझन में हूँ! मैं एक बड़ी लिपि बना रहा हूं और यह आईएसई में काम कर रहा था लेकिन पावरहेल कंसोल में नहीं। मैं [System.Uri] :: EscapeDataString समारोह जो मेरे powershell कंसोल() '& में उदाहरण के लिए, अलग अलग वातावरण के बीच अलग-अलग ढंग से व्यवहार किया जा रहा है के लिए नीचे ट्रैक करने के लिए प्रबंधित किया है! बच नहीं रहे हैं, जहां आईडीई में वे सभी भाग रहे हैं।EscapeDataString Powershell आईडीई और PowerShell कंसोल

मैं कुछ याद आ रही है?

मेरे परीक्षण कोड:

[System.Uri]::EscapeDataString("/?:@%!$&'/*+,;=()") 

आईएसई उत्पादन:

%2F%3F%3A%40%25%21%24%26%27%2F%2A%2B%2C%3B%3D%28%29 

PowerShell कंसोल आउटपुट:

%2F%3F%3A%40%25!%24%26'%2F*%2B%2C%3B%3D() 

Screenshot

धन्यवाद!

+0

क्या आप PowerShell संस्करण है। यह सुनिश्चित करने के लिए दोनों शेल जांचने के लिए उत्सुक रहें कि आपके शॉर्टकट पर स्विच नहीं हैं। _Possible_ यह एक बग है लेकिन इसे सुनिश्चित करने के लिए संस्करण की आवश्यकता होगी। '[System.UriParser] .GetField ('s_QuirksVersion', [Reflection.BindingFlags] 'स्टेटिक, Nonpublic: – Matt

+0

Windows 10 और Windows 7. – BenH

+0

@Matt पर PowerShell 5 पर प्रतिलिपि प्रस्तुत करने योग्य 5.1.14393.693 दोनों शान्ति – britcowboy

उत्तर

2

यहाँ source प्रति, अंतर है: [System.UriParser].GetField('s_QuirksVersion', [Reflection.BindingFlags] 'Static, NonPublic').GetValue($null)

मैं क्योंकि यह टिप्पणी में दिखाई दिया, अनुत्तरित प्रश्नों के लिए खोज में प्रदर्शित करने के सवाल पैदा कर रहा समुदाय विकी के रूप में जवाब के रूप में चिह्नित।

+0

क्या PowerShell में इसे V3 पर सेट करने का कोई तरीका है? (या आईएसई में वी 2?) कुछ स्थिरता ने मुझे अपने जीवन के कुछ दिन बचाए होंगे। –