我想使用正則表達式重命名幾個文件。獲取正則表達式在powershell腳本中工作
ck1823000-23.dat
ck1293834-67.dat
lo1230324-99.dat
pk1232131-34.dat
...
我想刪除-XX 所以結果會是這樣:
ck1823000.dat
ck1293834.dat
lo1230324.dat
pk1232131.dat
...
我想出了這個正則表達式:
(?:.*?)([-\\s].*?).dat
但我得到這個錯誤:
Rename-Item : The input to the script block for parameter 'NewName' failed. The regular expression pattern is not valid
當我運行此命令:
Get-ChildItem . -file -Filter "*.dat" | Rename-Item -newname { $_.name -replace "\(?:.*?)([-\\s].*?).dat\", ""}
感謝另一種選擇!很棒。所以我想我不能使用組匹配 – Cornwell 2014-10-02 09:11:02
我認爲你可以。 REgex:'^(。*?)([ - \\ s]。*?)(\\。dat)$'replacemet string:'$ 1 $ 3' DEmo http://regex101.com/r/qM2pT8/2 – 2014-10-02 09:16:11