एलएस * .gif | Foreach {$ newname = $ _। नाम -रेले '\ [', '' -replace ']', '' लिखने वाला मेजबान $ _। नाम $ newname move-item -path $ _। नाम -निर्धारण $ newname; } Ls * .gif तो किसी को [] के साथ फ़ाइलों का नाम बदलने में मदद करने की कोशिश करते हुए, मैंने पाया कि चाल-आइटम एक लूप में काम नहीं करती। ऐसा लगता है कि लूप के ठीक से काम करना ठीक है।
विचार?
अपडेट: नीचे दी गई टिप्पणी के आधार पर, मैं इसे स्पष्ट करना चाहता हूं: फ़ाइल नामों के विशेष वर्णों के लिए आपको -LiteralPath पैरामीटर का उपयोग करने की आवश्यकता होती है। -पैथ उन वर्णों को नियंत्रित नहीं कर सकता एक पाश के बाहर, -पाथ काम करती है जब से आप `` का प्रयोग करके विशेष वर्णों से बच रहे हैं। संग्रह के माध्यम से चलते समय यह संभव नहीं है।
एक पाश में, आपको -पाथ के बजाय -LiteralPath पैरामीटर का उपयोग करने की आवश्यकता है।
-लाइटलपाथ & lt; string [ ] & gt; आइटम के वर्तमान स्थान का पथ निर्दिष्ट करता है पथ के विपरीत, लिटलपाथ का मान ठीक उसी प्रकार उपयोग किया जाता है, जैसा कि टाइप किया गया है। ** कोई अक्षर वाइल्डकार्ड के रूप में व्याख्या नहीं किए गए हैं यदि पथ में भागने वाले पात्र शामिल हैं, तो इसे एकल उद्धरण चिह्नों में लगाया जा सकता है। ** एकल उद्धरण चिह्नों को विंडोज पॉवरशेल बताते हैं कि एस्केप अनुक्रम के रूप में किसी भी वर्ण की व्याख्या नहीं करें। अतः, यह हो जाएगा:
जीसीआई-रिसर्च * .txt | % {हटो-मद-लिटर-पाथ $ _ पूर्णांक -निष्करण "सोमेन्यूनाम"}
Comments
Post a Comment