2015-07-11 37 views
0

我認爲,Windows PowerShell可以用來做到這一點。我有一堆mp3文件,它們的文件名有問題。在術語「.mp3」之後,每個文件的文件名中都有一串字符,這可防止它們被識別爲mp3文件。我曾嘗試手動重命名每個文件,但現在已經厭倦了。我想讓這個過程自動化。如何批量重命名文件,刪除文件名中「.mp3」後的所有字符?

應該可以使用powershell來做到這一點,也許還有其他的選項,我不知道。該腳本需要讀取文件夾中的每個文件名,並且如果名稱在文件名中的「.mp3」後面有更多字符,則所有後續字符都應被刪除。這個怎麼做?

回答

0

UPDATE

確定。所以通配符與重命名命令很奇怪。

DOES工作

ren "*.mp3*" "??????????????????????????????????????????????????????????.mp3" 

只要有儘可能多的?作爲最長的文件名

指這個,如果你想詳細

https://superuser.com/questions/475874/how-does-the-windows-rename-command-interpret-wildcards

+0

當我嘗試這個我得到了filename.mp3.mp3 – Matt

+0

我試過了..它的工作原理。你確定你確實做到了嗎? – DOSLuke

+0

我只是試了一遍,完美的作品 – DOSLuke

1
$files=ls -Name *.mp3* 

foreach ($file in $files) { 
Rename-Item $file $file.Substring(0, $file.LastIndexOf(".mp3")+4) 
} 

然而,太長的解決方案。

0

首先我確定社區本來希望看到您嘗試某些東西以便我們可以幫助您解決問題。但是其他用戶提供的解決方案,所以我想從一個PowerShell的角度

Get-ChildItem C:\temp -Filter "*.mp3*" | Rename-Item -NewName {$_.Name -replace "\.mp3.*",".mp3"} 

這幫腔將採取所有文件」 .MP3" 的地方在文件名。然後它會重新命名它們,包括「.mp3」之後的所有內容。如果您不止一次有「.mp3」文件,這將是一個問題。很容易修復,但我會通過接受這個潛力來保持簡潔。

+0

我不知道從哪裏開始,我不是這方面的專家。我本可以編寫一個C程序,但是我知道一個解決方案作爲1行PowerShell命令存在,所以我發佈了這個問題 – quantum231