मैं एक फ़ाइल की सामग्री को खोजने के लिए एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं, और जब यह एक सीआर/एलएफ डालने के लिए ASCII नियंत्रण वर्णों के समूह में आता है।पावरहेल: ASCII नियंत्रण वर्णों का पैटर्न ढूंढें/बदलें
पात्रों के पैटर्न मैं को प्रतिस्थापित करना चाहते हैं [ETX] [NUL] [एसटीएक्स] [ETX] [एसओएच]
$filenames = @(Get-Childitem "E:\VendorFiles\*") $CR = @("[char]3 [char]0 [char]2 [char]3 [char]1") foreach ($file in $filenames) {$outfile = "$file" + ".txt" Get-Content $file | Foreach-object { $_ -replace $CR,"`r`n" ` -replace [char]3,"|" ` -replace [char]1,"{" ` -replace "\\","\\" ` } | Set-Content -encoding "UTF8" $outfile}
अच्छी तरह से किया गया। Quibble: '-replace' _RHS_ पर केवल arrays का समर्थन नहीं करता है (केवल एक _regex_ समर्थित); हालांकि, _LHS_ - इनपुट स्ट्रिंग - एक सरणी हो सकती है (जिस स्थिति में प्रतिस्थापन ऑपरेशन अलग-अलग सरणी तत्वों पर किया जाता है)। – mklement0