******i have tested this EXTENSIVLEY but cannot be held responsible if i messes up your files*******
^^^^^^^^^^^^ had to say just incase someone says its gone horribly wrong..
#include<Array.au3> #include<File.au3> #include<ButtonConstants.au3> #include<GUIConstantsEx.au3> #include<WindowsConstants.au3> #include<String.au3> Opt("GUIOnEventMode", 1) Global $file, $newname, $srce, $srDir, $srDrive, $srExt, $srFName, $suc, $typ, $sc, $List1, $files $Form1 = GUICreate("Form1", 378, 447, 582, 251) GUISetOnEvent($GUI_EVENT_CLOSE, "quit") $input = GUICtrlCreateInput("Input Folder", 16, 8, 313, 21) $output = GUICtrlCreateInput("Target Folder", 16, 40, 313, 21) $input_button = GUICtrlCreateButton("", 336, 8, 25, 25, $BS_ICON) GUICtrlSetOnEvent(-1, "input") GUICtrlSetImage(-1, "shell32.dll", 46, 0) $output_button = GUICtrlCreateButton("", 336, 40, 25, 25, $BS_ICON) GUICtrlSetOnEvent(-1, "output") GUICtrlSetImage(-1, "shell32.dll", 46, 0) $Checkbox1 = GUICtrlCreateCheckbox("Test (Output to Listview only)", 16, 72, 181, 17) GUICtrlSetOnEvent(-1, "checkbox") GUICtrlSetState(-1, $GUI_CHECKED) $List1 = GUICtrlCreateList("", 16, 104, 345, 318, BitOR($WS_BORDER, $WS_VSCROLL)) $Button3 = GUICtrlCreateButton("GO!!!", 288, 72, 73, 25, 0) GUICtrlSetOnEvent(-1, "go") ;GUICtrlSetState(-1,$GUI_DISABLE) GUISetState(@SW_SHOW) $log = GUICtrlCreateLabel("Log", 5, 430, 300, 25) While 1 Sleep(100) WEnd Func go() GUICtrlSetData($List1, '') GUICtrlSetData($Button3, "Running!!") $files = _FileListToArray($sc) ;_ArrayDisplay($files) $failed = 0 For $c = 1 To $files[0] GUICtrlSetData($log, "Processed " & $c & " / " & $files[0]) $srce = $files[$c] If $srce <> "" And StringInStr($srce, ".mp3") <> 0 Then GUICtrlSetData($List1, "Old :" & $srce & "|") $newname = StringReplace($srce, '.mp3', '') $newname=StringRegExpReplace($newname,"\d"," ",0) ConsoleWrite($newname&@lf) if StringInStr($newname,"-",0,2)<>0 Then $newname=StringRegExpReplace($newname,"[\A-]"," ",1) ConsoleWrite($newname&@lf) EndIf if StringInStr($newname,"-")<4 then $newname=StringReplace($newname,"-","") ConsoleWrite($newname&@lf) EndIf $newname=StringRegExpReplace($newname,"[^\w-]", " ",0) ConsoleWrite($newname&@lf) $newname=StringRegExpReplace($newname,"_"," ") ConsoleWrite($newname&@lf) $newname=StringReplace($newname,"-"," - ",1,0) ConsoleWrite($newname&@lf) $newname=_StringProper($newname) ConsoleWrite($newname&@lf) $ss=StringSplit($newname," ") $nn='' for $x=1 to $ss[0] if $ss[$x] <> "" Then $nn&= $ss[$x]&" " EndIf Next $str=StringTrimRight($nn,1) ConsoleWrite(">>>"&$str&"<<<"&@lf) $s=$str&".mp3" $newname = $s GUICtrlSetData($List1, "New :" & $newname & "|") GUICtrlSetData($List1, " |") If GUICtrlRead($Checkbox1) <> 1 Then If GUICtrlRead($input) <> GUICtrlRead($output) Then $suc = FileCopy($sc & "\" & $srce, $file & "\" & $newname) $error=0 If $suc <> 1 Then do $error+=1 $newname = StringReplace($newname,".mp3",$error&".mp3") $suc = Filecopy($sc & "\" & $srce, $file & "\" & $newname) $failed += 1 until $suc<>1 EndIf Else $suc = FileMove($sc & "\" & $srce, $file & "\" & $newname) $error=0 If $suc <> 1 Then do $error+=1 $newname = StringReplace($newname,".mp3",$error&".mp3") $suc = FileMove($sc & "\" & $srce, $file & "\" & $newname) $failed += 1 until $suc<>1 EndIf EndIf EndIf EndIf Sleep(250) Next MsgBox(262160, "Operation Result", $failed & " Already Exists") GUICtrlSetData($Button3, "GO!!!") EndFunc;==>go Func quit() Exit EndFunc;==>quit Func input() $sc = FileSelectFolder("Chose Folder to Open","") GUICtrlSetData($input, $sc) EndFunc;==>input Func output() $file = FileSelectFolder("Choose a folder.", '', 1 + 4) GUICtrlSetData($output, $file) EndFunc;==>output Func checkbox() EndFunc;==>checkbox
Edited by Aceguy, 30 August 2008 - 10:13 AM.






