我必須每週更換多個文件中的某個字符串。我正在努力簡化使用PowerShell的是必須更換的行過程如下:每週從多個文件中替換字符串
extract_mdp_staging_error(149);
其他文件看起來是一樣的,但字符串是前夫不一樣。
extract_kdp_staging(149);
extract_zub_staging_error(149);
...
有沒有辦法告訴我的劇本只是爲了搜索的文本部分在(),並與用戶輸入更換呢?因爲我不能使用硬編碼搜索,因爲下週以後不會有149但是150等等。
編輯 我一直在使用一個腳本來替換使用PowerShell的另一個應用程序文件的整條生產線,但我無法弄清楚如何代碼,因此它只是取代括號中的一部分。 PowerShell腳本:
Get-ChildItem C:\Users\mosermich\Desktop\Extractor\Ressources -Filter '*.sql' -ErrorAction Stop | ForEach-Object {
$content = Get-Content $_.Fullname
$content[7] = ' rel.nr sqlldr {0}' -f $releasenr
$content | Set-Content -Path $_.FullName
}
這裏是在我需要替換()上線2號文件中的一個:
begin
extract_zdlb_staging(149);
commit;
end;
/
quit;
這應該使用正則表達式是可行的。你有什麼例子嗎? – Jakodns
對不起,我從來沒有真正與正則表達式。但我發佈了我以前的PowerShell腳本和一個我將需要替換的示例文件。希望這是你的意思。 –