Vegar Posted January 27, 2009 Share Posted January 27, 2009 Hello.. My music folders are kind of messed up with all musicfiles in diffrent folders and sevral dubble and triple copyes of the same file in diffrent folders.... So i wanted to make a script that could help me with this .. i wanted the script to: 1. Let me select witch folder(s) i want the script to "Sort" 2. Let me chose where i want the music to be saved 3. When i click the "Start" button (or something like that) the sorting starts. 4. And gather all music and delete evry file that is dubble up (or more) 5. and make a new folder for each artist and name the folder the same name as the artist, and put evry musicfile from that artist in that folder.. Could someone help me to get started on this or does anyone know of a program that does just this.. Link to comment Share on other sites More sharing options...
KaFu Posted January 27, 2009 Share Posted January 27, 2009 Try SMF, check "Extended File attributes" to aquire ID3 tags. OS: Win10-22H2 - 64bit - German, AutoIt Version: 3.3.16.1, AutoIt Editor: SciTE, Website: https://funk.eu AMT - Auto-Movie-Thumbnailer (2022-Nov-26) BIC - Batch-Image-Cropper (2023-Apr-01) COP - Color Picker (2009-May-21) DCS - Dynamic Cursor Selector (2024-Feb-16) HMW - Hide my Windows (2018-Sep-16) HRC - HotKey Resolution Changer (2012-May-16) ICU - Icon Configuration Utility (2018-Sep-16) SMF - Search my Files (2023-Jun-03) - THE file info and duplicates search tool SSD - Set Sound Device (2017-Sep-16) Link to comment Share on other sites More sharing options...
Vegar Posted January 27, 2009 Author Share Posted January 27, 2009 øhh.. your trying to explane to a noob here Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted January 27, 2009 Moderators Share Posted January 27, 2009 Vegar,The following script will read the file properties of your music files ($Passed_File_Name is the full path of the music file):expandcollapse popup; Object code modified from original by Simulcal & PsaltyDS Func Read_Track_Info($sPassed_File_Name) Local $aTrack_Info[4] Local $sBit_Rate = "?" Local $iError = 0 Local $iFilename_Start = StringInStr($sPassed_File_Name, "\", 0, -1) Local $sDir_Name = StringLeft($sPassed_File_Name,$iFilename_Start) Local $sFile_Name = StringMid ($sPassed_File_Name,$iFilename_Start + 1) Local $sDOS_Dir = FileGetShortName($sDir_Name, 1) Local $oShellApp = ObjCreate("shell.application") If IsObj($oShellApp) Then Local $oDir = $oShellApp.NameSpace ($sDOS_Dir) If IsObj($oDir) Then Local $oFile = $oDir.Parsename ($sFile_Name) If IsObj($oFile) Then If @OSVersion = "WIN_VISTA" Then $aTrack_Info[3] = $oDir.GetDetailsOf ($oFile, 13); Artist $aTrack_Info[2] = $oDir.GetDetailsOf ($oFile, 14); Album $aTrack_Info[1] = $oDir.GetDetailsOf ($oFile, 21); Track $aTrack_Info[0] = $oDir.GetDetailsOf ($oFile, 26); Track number $sBit_Rate = $oDir.GetDetailsOf ($oFile, 28); Bit Rate ElseIf @OSVersion = "WIN_XP" Then $aTrack_Info[3] = $oDir.GetDetailsOf ($oFile, 16); Artist $aTrack_Info[2] = $oDir.GetDetailsOf ($oFile, 17); Album $aTrack_Info[1] = $oDir.GetDetailsOf ($oFile, 10); Track $aTrack_Info[0] = $oDir.GetDetailsOf ($oFile, 19); Track number $sBit_Rate = $oDir.GetDetailsOf ($oFile, 22); Bit Rate Else $iError = 4 EndIf Else $iError = 3 EndIf Else $iError = 2 EndIf Else $iError = 1 EndIf If $iError > 0 Then Local $sMsg = "Could not read File Properties" & @CRLF & @CRLF & _ $iError & @CRLF & @CRLF & $sPassed_File_Name MsgBox($MB_ICONEXCLAMATION, $MB_OK, "Error", $sMsg) EndIf EndFuncNow you have the details of each file - over to you to try and get the other parts working. We are here to help if you have problems - but we will not write the whole thing for you! :-)M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now