Renaming files 70gbs of Mp3s

Caporegime
Joined
8 Sep 2005
Posts
30,312
Location
Norrbotten, Sweden.
Ok...

I merged 2 folders and pressed keep files but dont overwrite (by mistake) Left it to finish and 40 minutes later facepalmed...

I used a freeware utility called Duplicate file finder or something and removed as many as possible.

The issue i have is now many of the files i have left are named for example:

Rollingstones - Paint it Black(2).mp3

I have 1000s of files with (2) in their title and although not the end of the world it looks bad.

Is there anything i can do that will mass remove the (2) obviously some files have the number 2 in them for real naming reasons so have to be careful.


Any advice Util or batch file thing somone can write or tell me about ? :eek:
 
i think the one i use is monkey media gold, it will allow you to rename files by the title//artist//track etc and it will also move the files if needs be aswel
 
foobar2000 can do this. when you install it make sure you check the option for "file operations". it's not selected by default.

add files to a playlist>right click>file operations>rename to>...

assuming your tags are good, simply

%artist% - %title%

or if you really want to do it by keeping the original filename....


Code:
$if($strcmp($right(%filename%,4), '('2')'),$replace(%filename%,$right(%filename%,4),),%filename%)

you can check the preview window before applying.
 
Last edited:
I used renamer.... not only did it hoover up all the (2)s i replaced all
_the_stupid_underscores_between_the words with spaces too....

Nice little utility good for a noob like me.
 
Been there, done that:

DeDupe.vbs - Deletes files, make sure you understand what it does before using it.

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("d:\music")
Set colSubfoldersL1 = objFolder.Subfolders
For Each objSubfolderL1 in colSubfoldersL1
Set colSubfoldersL2 = objSubFolderL1.Subfolders
For Each objSubfolderL2 in colSubfoldersL2
Set colFiles = objSubFolderL2.Files
For Each objFile in colFiles
i = InStr(objFSO.GetBaseName(objFile), " (2)")
If i > 0 Then
dupeFile = objFSO.GetParentFolderName(objFile) + "\" + Left(objFSO.GetBaseName(objFile), i-1) + "." + objFSO.GetExtensionName(objFile)
If objFSO.FileExists(dupeFile) Then
' objFSO.DeleteFile objFSO.GetAbsolutePathName(objFile)
objFSO.MoveFile objFSO.GetAbsolutePathName(objFile), "D:\Temp\Duplicates\"
End If
End If
Next
Next
Next
 
Code:
cmd /v:on /c "for /f "delims=" %A in ('dir "*(2)*.*" /s /b') DO (set file="%~nxA" & rename "%A" "!file:(2)=!")"

Should have worked from the cmd line at the root of the drive or folder.
Changed to...

Code:
cmd /v:on /c "for /f "delims=" %A in ('dir "*_*.*" /s /b') DO (set file="%~nxA" & rename "%A" "!file:_= !")"

Should replace any underscores with spaces.
 
Back
Top Bottom