對於我每天手動查找和替換任務之一,我想創建一個PowerShell腳本來查找和替換一些網絡位置,並用新的替換。替換PowerShell中的特殊字符
,如: -
地發現:\\Test\test
替換\\Test1\Test1
我能夠替換文本沒有任何特殊字符,但上面我得到的正則表達式錯誤。
並且在替換上面的字符串之後,我想將結果保存在一個文本文件中,該文件記錄已更新的文件的記錄。
對於我每天手動查找和替換任務之一,我想創建一個PowerShell腳本來查找和替換一些網絡位置,並用新的替換。替換PowerShell中的特殊字符
,如: -
地發現:\\Test\test
替換\\Test1\Test1
我能夠替換文本沒有任何特殊字符,但上面我得到的正則表達式錯誤。
並且在替換上面的字符串之後,我想將結果保存在一個文本文件中,該文件記錄已更新的文件的記錄。
在評論中看到你的例子,只需要一個Add-Content剪輯來完成它。這是我的方式。
$c = '\\filedep\iservershare\DCSVWA'
$c = $c -replace [regex]::Escape('\\filedep\iservershare\DCSVWA'),('\\EGSISFS01\VolksWagon\DCSVWA')
Add-Content C:\Output.txt $c
我已經兩次運行它,該文件導致。
\\EGSISFS01\VolksWagon\DCSVWA
\\EGSISFS01\VolksWagon\DCSVWA
謝謝K,但它沒有給我想要的輸出。 我想要列出所有位置由於上面的腳本已經更新的文件.. – AkashR
什麼是你正在循環的每個文件的變量的名稱,或者你是否在流水線內?>>($ _) <<。無論哪種方式,只需要用附加內容中的$ c替換$ c,如果在管道中,我假設爲'Add-Content C:\ Output.txt $ _',否則如果命名變量,除了確保add內容發生在你的循環中。 –
顯示,導致問題的表達式。在那裏唯一的正則表達式特殊字符是'\',在正則表達式中直接匹配反斜槓,只是轉義'\\' – stema