Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
- #AutoIt3Wrapper_Icon=..\..\Downloads\Ariil-Alphabet-Letter-N.ico
- #AutoIt3Wrapper_Outfile=Nevatalakito v03.exe
- #AutoIt3Wrapper_Add_Constants=n
- #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
- #EndRegion ** Directives created by AutoIt3Wrapper_GUI ****
- #include <Array.au3>
- #include <File.au3>
- #include <ButtonConstants.au3>
- #include <WindowsConstants.au3>
- #include <EditConstants.au3>
- #include <GUIConstantsEx.au3>
- #include <StaticConstants.au3>
- $ablak = GUICreate("Névátalakító v0.3", 487, 271, 254, 123)
- GUISetFont(9, 400, 0, "Microsoft New Tai Lue")
- $start = GUICtrlCreateButton("Indítás", 288, 64, 185, 49)
- $mappatis = GUICtrlCreateCheckbox("Almappákat is vizsgáljon", 296, 120, 161, 17)
- $folyamatban = GUICtrlCreateLabel("Kattints a Tallózás vagy a Munkakönyvtár gombra!", 8, 8, 473, 25, $SS_CENTER)
- GUICtrlSetFont(-1, 12, 400, 0, "Microsoft New Tai Lue")
- $tallozas = GUICtrlCreateButton("Tallózás", 8, 168, 75, 25)
- $label = GUICtrlCreateLabel("", 115, 168, 360, 43, $WS_BORDER)
- $mirol = GUICtrlCreateInput("_", 216, 48, 41, 23)
- $mire = GUICtrlCreateInput(" ", 216, 72, 41, 23)
- $keresendo = GUICtrlCreateLabel("Keresendő és cserélendő karakter(ek):", 8, 50, 202, 19, $SS_CENTER)
- $beillesztendo = GUICtrlCreateLabel("A helyükre beillesztendő karakter(ek):", 9, 75, 201, 19)
- $mp3_csekk = GUICtrlCreateCheckbox(".mp3", 16, 112, 49, 17)
- $wav_csekk = GUICtrlCreateCheckbox(".wav", 16, 128, 49, 17)
- $avi_csekk = GUICtrlCreateCheckbox(".avi", 70, 112, 49, 17)
- $wmv_csekk = GUICtrlCreateCheckbox(".wmv", 70, 128, 49, 17)
- $txt_csekk = GUICtrlCreateCheckbox(".txt", 126, 112, 49, 17)
- $doc_csekk = GUICtrlCreateCheckbox(".doc", 126, 128, 49, 17)
- $egyeni_csekk = GUICtrlCreateCheckbox("Egyéni:", 195, 110, 53, 19)
- ;$egyeni = GUICtrlCreateLabel("Egyéni:", 200, 112, 42, 19)
- $sajat_input = GUICtrlCreateInput(".xxx", 200, 128, 49, 23)
- $nevjegy = GUICtrlCreateLabel("csakii && AlPeR061 project", 304, 253, 178, 16)
- GUICtrlSetFont(-1, 16, 800, 0, "Microsoft Himalaya")
- GUICtrlSetColor(-1, 0x0040F0)
- ;$magyarazat = GUICtrlCreateLabel("- ezzel a funkcióval az a mappa lesz betallózva, ahonnan a program fut", 104, 216, 373, 19)
- $workdir = GUICtrlCreateButton("Munkakönyvtár", 8, 194, 91, 17)
- GUICtrlSetTip(-1, "Ezzel a funkcióval az a mappa lesz betallózva, ahonnan a program fut")
- $group = GUICtrlCreateGroup("", 8, 93, 252, 65)
- GUICtrlCreateGroup("", -99, -99, 1, 1)
- GUISetBkColor(0xA5BFCE)
- GUISetState(@SW_SHOW)
- Dim $zene = ObjCreate("System.Collections.ArrayList")
- Dim $tomb_csekk = ObjCreate("System.Collections.ArrayList")
- Dim $zenek
- Dim $ideiglenes
- Dim $FileCount
- Dim $temp
- Dim $egy
- Dim $ketto
- Dim $checkbox_temp
- Dim $radio_elso_temp
- Dim $radio_masodik_temp
- Dim $csekkboxok
- GUICtrlSetData($folyamatban, "Kattints a Tallózás vagy a Munkakönyvtár gombra!")
- While 1
- Switch(GUIGetMsg())
- Case -3
- Exit
- Case $start
- GUICtrlSetData($folyamatban, "Ellenőrzés..")
- Ellenoriz()
- Case $tallozas
- If $ideiglenes <> "" Then
- $temp = $ideiglenes
- EndIf
- $ideiglenes = FileSelectFolder("Kattints a Tallózás vagy a Munkakönyvtár gombra!", "") ; "" <- alapútvonal, ha meg akarod adni
- If $ideiglenes = "" Then
- $ideiglenes = $temp
- EndIf
- GUICtrlSetData($label, $ideiglenes)
- Case $workdir
- $ideiglenes = @WorkingDir
- GUICtrlSetData($label, $ideiglenes)
- EndSwitch
- WEnd
- Func Ellenoriz() ; ########################## [1] #############################
- If StringLen(GUICtrlRead($mirol)) = 0 or StringLen(GUICtrlRead($mire)) = 0 Then
- MsgBox(0, "Hiba (02)", "Nincs a keresendő és/vagy a beillesztendő beállítva!")
- GUICtrlSetData($folyamatban, "Kattints a Tallózás vagy a Munkakönyvtár gombra!")
- Return 0
- EndIf
- If GUICtrlRead($egyeni_csekk) = $GUI_CHECKED and (StringLen(GUICtrlRead($sajat_input)) < 2 or StringLen(GUICtrlRead($sajat_input)) > 5) Then
- MsgBox(0, "Hiba (03)", "Az egyéni érték ki van pipálva, de az értéke nem megfelelő! (.xx-től .xxxxx-ig.)")
- EndIf
- If GUICtrlRead($sajat_input) = ".dll" Then
- MsgBox(0, "Hiba (06)", "A .dll fájlok átnevezése biztonsági okokból nem engedélyezett.")
- GUICtrlSetData($sajat_input, ".xxx")
- Return 0
- EndIf
- If $ideiglenes = "" Then
- If MsgBox(4, "Hiba (01)", "Nincs könyvtár választva! Szeretnéd hogy az a könyvtár legyen vizsgálva, ahol a program fut? (Ha nemet nyomsz, nem csinál a program semmit.)") = 6 Then
- $ideiglenes = @WorkingDir
- GUICtrlSetData($label, $ideiglenes)
- GUICtrlSetData($folyamatban, "Folyamatban...")
- Atalakit() ; ############ [2] ############
- EndIf
- Else
- GUICtrlSetData($folyamatban, "Folyamatban...")
- Atalakit() ; ############ [2] ############
- EndIf
- GUICtrlSetData($folyamatban, "Kész!")
- ;$zene.Remove($FileCount-1)
- ;MsgBox(0, "obj c rem", $zene.Count)
- ;$zene = ObjCreate("System.Collections.ArrayList")
- ;MsgBox(0, "obj c redec", $zene.Count)
- ;MsgBox(0, "tomb length", UBound($zenek))
- $zene.Clear
- ;MsgBox(0, "obj count", $zene.Count)
- $zenek = $zene.ToArray
- ;MsgBox(0, "toarray utan", UBound($zenek)) ; 0 a tömb nagysága (??? ha itt 0 az érték, akkor miért tartja meg az előző sorokat a tömbben?!)
- $tomb_csekk.Clear
- $FileCount = 0
- EndFunc
- Func Atalakit() ; ########################## [2] #############################
- $egy = GUICtrlRead($mirol)
- $ketto = GUICtrlRead($mire)
- $checkbox_temp = GUICtrlRead($mappatis)
- $sajat = GUICtrlRead($sajat_input)
- If GUICtrlRead($avi_csekk) = $GUI_CHECKED Then
- $tomb_csekk.Add(".avi")
- EndIf
- If GUICtrlRead($mp3_csekk) = $GUI_CHECKED Then
- $tomb_csekk.Add(".mp3")
- EndIf
- If GUICtrlRead($wmv_csekk) = $GUI_CHECKED Then
- $tomb_csekk.Add(".wmv")
- EndIf
- If GUICtrlRead($doc_csekk) = $GUI_CHECKED Then
- $tomb_csekk.Add(".doc")
- EndIf
- If GUICtrlRead($txt_csekk) = $GUI_CHECKED Then
- $tomb_csekk.Add(".txt")
- EndIf
- If GUICtrlRead($wav_csekk) = $GUI_CHECKED Then
- $tomb_csekk.Add(".wav")
- EndIf
- If GUICtrlRead($egyeni_csekk) = $GUI_CHECKED Then
- $tomb_csekk.Add($sajat)
- EndIf
- $csekkboxok = $tomb_csekk.ToArray
- ;_ArrayDisplay($csekkboxok)
- ScanFolder($ideiglenes) ; ######## [3] ##########
- GuiCtrlSetData($folyamatban, "(A fájlok száma: " & $FileCount & ")")
- Sleep(500)
- GuiCtrlSetData($folyamatban, "Átalakítás..")
- Dim $zenek = $zene.ToArray
- ; _ArrayDisplay($zenek, "$zenek: ")
- Kicserel() ; ######## [4] ##########
- EndFunc
- Func Kicserel() ; ########################## [4] #############################
- For $i = 0 to UBound($zenek, 1) -1
- $eleresiut = Darabol($zenek[$i], 2) ; ######## [5] ##########
- $filenev = Darabol($zenek[$i], 3) ; ######## [5] ##########
- $ujfajlnev = StringReplace($filenev, $egy, $ketto)
- $ujeleresiut_fajlnev = $eleresiut & $ujfajlnev
- ; MsgBox(0, "Éppen ez zajlik..", "Átnevezés " & $filenev & "erre: " & $ujfajlnev)
- FileMove($zenek[$i], $ujeleresiut_fajlnev)
- Next
- EndFunc
- ; ########################## [5] #############################
- Func Darabol($SBPath, $SBType);$SBpath = file path to evaluate , $SBType = 1 for Drive, 2 for Path, 3 for File name, 4 for extension, 5 for drive letter only
- Local $SBfile, $SBSplit, $SBdrive, $SBfilepath, $SBnumber
- $SBSplit = StringSplit($SBPath, "\"); split into array
- $SBnumber = $SBSplit[0]; the number of strings returned
- $SBfilepath = ""
- for $1 = 1 to $SBnumber -1
- $SBfilepath = $SBfilepath & $SBSplit[$1] & "\"; path
- Next
- $SBfile = $SBSplit[($SBsplit[0])]; file
- $SBdrive = $SBSplit[1]; drive
- $SBfs = StringSplit($SBPath, "."); split into array
- ;MsgBox(4096, "Path", $SBSfs[0])
- if $SBfs[0] = 1 then
- $SBExt = ""; no extension found
- Else
- $SBExt = $SBfs[($SBfs[0])]; last . extentsion
- EndIf
- If $SBType = 1 then Return $SBdrive
- If $SBType = 2 then Return $SBfilepath
- If $SBType = 3 then Return $SBfile
- If $SBType = 4 then Return $SBExt
- If $SBType = 5 then Return StringLeft($SBdrive, 1)
- EndFunc
- Func ScanFolder($SourceFolder) ; ########################## [3] #############################
- Local $Search
- Local $File
- Local $FileAttributes
- Local $FullFilePath
- $Search = FileFindFirstFile($SourceFolder & "\*.*")
- While 1
- If $Search = -1 Then
- ExitLoop
- EndIf
- $File = FileFindNextFile($Search)
- If @error Then ExitLoop
- $FullFilePath = $SourceFolder & "\" & $File
- $FileAttributes = FileGetAttrib($FullFilePath)
- If StringInStr($FileAttributes,"D") Then
- If $checkbox_temp = $GUI_CHECKED Then
- ScanFolder($FullFilePath)
- EndIf
- Else
- For $i = 0 to Ubound($csekkboxok, 1) -1
- If StringInStr($FullFilePath, $csekkboxok[$i]) Then
- LogFile($FullFilePath)
- EndIf
- Next
- EndIf
- WEnd
- FileClose($Search)
- EndFunc
- ; ########################## [7] #############################
- Func LogFile($FileName)
- $zene.Add($FileName)
- $FileCount += 1
- ;MsgBox(0, "filecount", $FileCount)
- EndFunc
Advertisement
Add Comment
Please, Sign In to add comment