我有這樣的文件列表:。
測試(文件1)[文字] .txt文件
測試(文件2)[文字] .txt文件
測試(文件3) [text] .txt重命名文件刪除時間在PowerShell中
我需要刪除任何「()」,「[]」和任何「。」,將它們替換爲空格而不更改文件擴展名。我試過以下,但它不工作:
dir C:\scratch\*.txt | % { Rename-Item $_ ($_.basename -replace "\(", " "`
-replace "\)", " "`
-replace "\[", " "`
-replace "\]", " "`
-replace ".", " ")}
理想情況下,文件名應該在格式落得「測試文件1的text.txt」
這兩個答案都很好,我給出了這個答案,因爲更容易的正則表達式。但有一個問題:執行上述操作會留下兩個空間,可能會有相鄰的字符在一起。我需要添加另一個「替換」\ s +',''嗎?我將如何替換字符串末尾的空格? \ z似乎沒有這樣做。 – fenster 2009-11-27 23:42:59
在答案中查看更新後的正則表達式:[()[\\]。] - > + < - 以及Trim()的加法。 – 2009-11-27 23:53:13