मेरे फ़ाइल सर्वर पर काम करते समय, मैंने एक स्क्रिप्ट फ़ोल्डर देखा है जिसने मेरी स्क्रिप्ट तोड़ दी है। फ़ोल्डर में एसिसी मान 160 (non-breaking space, एनबीएसपी) के साथ केवल एक वर्ण शामिल है। दृश्यमान रूप से वह नाम अंतरिक्ष चरित्र जैसा ही है।गेट-चाइल्डइटम और गैर-ब्रेकिंग स्पेस
संक्षेप में, मेरे पास इस फ़ोल्डर पर Get-ChildItem
निष्पादित किया जा रहा है और यह अंतहीन पाश में प्रवेश कर रहा है। कमांड वास्तविकता में मूल फ़ोल्डर के खिलाफ निष्पादित किया गया है और यह फिर से समस्याग्रस्त फ़ोल्डर लौटाता है, इसलिए मेरी स्क्रिप्ट अंतहीन पाश में आ गई।
आप आसानी से इसे अपने पर्यावरण पर अनुकरण कर सकते हैं। C:\temp
फ़ोल्डर में नया फ़ोल्डर बनाएं जिसका नाम केवल एनबीएसपी है। आप इसे होल्डिंग alt के साथ टाइप कर सकते हैं और संख्यात्मक कीबोर्ड पर 0160 दबा सकते हैं। इसे बनाने के बाद,
Get-ChildItem C:\Temp\ -Recurse
आपको बिना नाम के फ़ोल्डर की अंतहीन सूची मिल जाएगी, हालांकि मेरे पास केवल एक फ़ोल्डर है।
d----- 6/15/2017 2:20 PM
d----- 6/15/2017 2:20 PM
d----- 6/15/2017 2:20 PM
d----- 6/15/2017 2:20 PM
d----- 6/15/2017 2:20 PM
. . .
मैंने सर्वर और क्लाइंट ओएस पर PowerShell 4 और 5 के साथ इसका परीक्षण किया और यह वही व्यवहार है। कमांड Get-Item
इस नाम के साथ भी जारी है, और -Path
और -LiteralPath
दोनों स्विच एक ही तरीके से व्यवहार कर रहे हैं। मैंने [System.IO.Directory]
कक्षा भी कोशिश की, लेकिन यह एक ही मुद्दा था।
प्रश्न: मैंने इस नाम के साथ फ़ोल्डर्स को एक त्रुटि के रूप में रिपोर्ट करने और इसे छोड़ने के लिए अपनी स्क्रिप्ट अपडेट की है, लेकिन मुझे आश्चर्य है कि ऐसा करने के लिए कुछ और स्मार्ट तरीका है? मेरा लक्ष्य Get-ChildItem
या ऐसे फ़ोल्डर के बराबर चलाने के लिए होगा।
क्या यह ज्ञात मुद्दा है? यदि अधिक लोगों द्वारा पुष्टि की जाती है, तो इसे कहीं भी बग के रूप में रिपोर्ट करने लायक होगा?
हां, मैं यह भी देखना । निश्चित रूप से एक बग। 'DirectoryInfo' मेरे लिए काम करता है:' ([IO.DirectoryInfo] 'c: \ temp')। EnumerateFileSystemInfos ('*', 'AllDirectories') ' – wOxxOm
मैं इसकी पुष्टि भी कर सकता हूं और निस्संदेह यह किसी भी तरह शोषक है। मैं आपको इसकी रिपोर्ट करने के लिए प्रोत्साहित करता हूं। –
@wOxxOm क्या आप अभी भी उस एनबीएसपी फ़ोल्डर में भर्ती कर सकते हैं जिसमें इसमें कोई अन्य फ़ोल्डर होना चाहिए? साथ ही, क्या आप सचमुच एनबीएसपी फ़ोल्डर के बारे में dirinfo प्राप्त कर सकते हैं न कि सिर्फ "temp"? – Vesper