2016-07-14 100 views
0

我重命名了數百個文件,所有這些文件都隨着項目ID和之後的一堆文本而變化。例如...重命名Powershell中的文件刪除「_」後的所有內容

BBAT300_abcdefg.xls BBAT400_abcdefg.xls

我需要刪除一切從下劃線,並在包括下劃線,所以結果是這樣的:

BBAT300.xls BBAT400 .xls的

,我發現這個有點早的代碼...

Get-ChildItem -Name -Filter *.xls | foreach {[Regex]::Match($_,"^[^_]*").Value} 

,它APPEA rs工作,但我不能讓它實際重命名文件。我對腳本的瞭解很少,所以這可能是一個簡單的解決方法,我似乎無法找到它。 Powershell將在PowerShell中顯示結果,但實際上不會重命名文件。

回答

0

你可以只管這行來重命名項命令:

Get-ChildItem -Filter *.txt | Foreach-Object -Process { 
    $NewName = [Regex]::Match($_.Name,"^[^_]*").Value + '.txt' 
    $_ | Rename-Item -NewName $NewName 
} 

編輯:改變了它支持任何位置

+1

這工作!謝謝! – Brian

相關問題