#NoTrayIcon #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_icon=..\icones\check.ico #AutoIt3Wrapper_Compression=4 #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.6.1 Author: Matwachich Script Function: Split files #ce ---------------------------------------------------------------------------- #include #include #include #include #include #include #include Opt("GUIOnEventMode", 1) ; ##### Variables ##### #region ### GUI ### Global $GUI, $I_split_in, $I_split_out, $b_split_in, $b_split_out, $b_split Global $I_past_in, $I_past_out, $b_past_in, $b_past_out, $b_past #endregion ; ##### END ##### #Region ### START Koda GUI section ### Form= $GUI = GUICreate("SplitIt - Découper/Recoller vos fichier facilement!", 530, 251) GUISetOnEvent($GUI_EVENT_CLOSE, "_guiExit") ; ##### Groupe Découpage ##### GUICtrlCreateGroup(" Découper ", 8, 8, 513, 105) GUICtrlCreateLabel("Source (Fichier)", 16, 32, 75, 17) GUICtrlCreateLabel("Destination (Repertoir)", 16, 56, 110, 17) GUICtrlCreateLabel("Taille des morceaux (Kilo-octets)", 128, 80, 155, 17) $I_split_in = GUICtrlCreateInput("", 128, 32, 353, 21) GUICtrlSetTip(-1, "Veuillez spécifier le fichier à découper") $I_split_out = GUICtrlCreateInput("", 128, 56, 353, 21) GUICtrlSetTip(-1, "Laisser vide pour que le découpage soit fait dans un dossier à coté du fichier à découper") $I_split_size = GUICtrlCreateInput("", 288, 80, 121, 21) GUICtrlSetTip(-1, "1 ko = 1024 octets" & @CRLF & "1 mo = 1024 ko = 1024^2 octets" & @CRLF & "1 go = 1024 mo = 1024^2 ko") $b_split_in = GUICtrlCreateButton("b_split_in", 488, 32, 27, 25, BitOR($BS_ICON,$WS_GROUP)) GUICtrlSetImage(-1, "shell32.dll", "5", 0) GUICtrlSetOnEvent(-1, "_split_in_browse") $b_split_out = GUICtrlCreateButton("b_split_out", 488, 56, 27, 25, BitOR($BS_ICON,$WS_GROUP)) GUICtrlSetImage(-1, "shell32.dll", "5", 0) GUICtrlSetOnEvent(-1, "_split_out_browse") $b_split = GUICtrlCreateButton("Découper!", 16, 80, 75, 25, $WS_GROUP) GUICtrlSetOnEvent(-1, "_split_go") GUICtrlCreateGroup("", -99, -99, 1, 1) ; ##### FIN ##### ; ##### Groupe recollage ##### GUICtrlCreateGroup(" Recoller ", 8, 120, 513, 105) GUICtrlCreateLabel("Source (1er morceau)", 16, 144, 106, 17) GUICtrlCreateLabel("Destination (Fichier)", 16, 168, 94, 17) GUICtrlCreateLabel("Nombre de morceaux", 128, 192, 155, 17) $I_past_in = GUICtrlCreateInput("", 128, 144, 353, 21) GUICtrlSetTip(-1, "Veuillez spécifier le PREMIER morceau du fichier à recoller") $I_past_out = GUICtrlCreateInput("", 128, 168, 353, 21) GUICtrlSetTip(-1, "Laisser vide pour que obtenir le même nom de fichier que l'original dans le même répertoire que les morceaux") $I_past_num = GUICtrlCreateInput("", 288, 192, 121, 21) GUICtrlSetTip(-1, "Spécifiez ne nombre exacte de morceaux ou un nombre plus grand si vous n'êtes pas sur") $b_past_in = GUICtrlCreateButton("b_past_in", 488, 144, 27, 25, BitOR($BS_ICON,$WS_GROUP)) GUICtrlSetImage(-1, "shell32.dll", "5", 0) GUICtrlSetOnEvent(-1, "_past_in_browse") $b_past_out = GUICtrlCreateButton("b_past_out", 488, 168, 27, 25, BitOR($BS_ICON,$WS_GROUP)) GUICtrlSetImage(-1, "shell32.dll", "5", 0) GUICtrlSetOnEvent(-1, "_past_out_browse") $b_past = GUICtrlCreateButton("Recoller!", 16, 192, 75, 25, $WS_GROUP) GUICtrlSetOnEvent(-1, "_past_go") GUICtrlCreateGroup("", -99, -99, 1, 1) ; ##### FIN ##### $StatusBar1 = _GUICtrlStatusBar_Create($GUI) Dim $StatusBar1_PartsWidth[1] = [-1] _GUICtrlStatusBar_SetParts($StatusBar1, $StatusBar1_PartsWidth) _GUICtrlStatusBar_SetText($StatusBar1, @TAB & @TAB & "Créer par Matwachich - AutoIt Powered ", 0) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### ; ##### Générique functions ##### Func _guiExit() Exit EndFunc ; ##### END ##### While 1 Sleep(100) WEnd ; ##### Split functions ##### Func _split_in_browse() Local $var = FileOpenDialog("Fichier à découper", "", "All (*.*)", 1) If Not @error Then GUICtrlSetData($I_split_in, $var) EndIf Return 1 EndFunc Func _split_out_browse() Local $var = FileSelectFolder("Dossier destination", "", 7) If Not @error Then GUICtrlSetData($I_split_out, $var) EndIf Return 1 EndFunc Func _split_go() Local $fragSize = Number(GUICtrlRead($I_split_size)) Local $inFile = GUICtrlRead($I_split_in) Local $outFolder = GUICtrlRead($I_split_out) Local $ret = 0 ; ##### check ##### If $inFile = "" Then Return MsgBox(16, "SplitIt", "Aucun fichier spécifié!") If Not FileExists($inFile) Then Return MsgBox(16, "SplitIt", "Le fichier à découper n'existe pas!") If Not IsNumber($fragSize) Or $fragSize = 0 Then Return MsgBox(16, "SplitIt", "Taille invalide") ; ##### END ##### If MsgBox(36, "SplitIt", "Le fichier sera découpé en " & Ceiling(FileGetSize($inFile) / ($fragSize * 1024)) & " morceaux, continuer?") = 7 Then Return If $outFolder = "" Then $outFolder = Default $ret = _fileSplit($inFile, $fragSize * 1024, $outFolder) If $ret = -1 Then MsgBox(16, "SplitIt", "Erreur durant le découpage!") Return EndIf MsgBox(48, "SplitIt", "Fichier découpé en " & $ret & " morceaux!") EndFunc ; ##### END ##### ; ##### Past functions ##### Func _past_in_browse() Local $var = FileOpenDialog("1er morceau", "", "All (*.*)", 1) If Not @error Then GUICtrlSetData($I_past_in, $var) EndIf Return 1 EndFunc Func _past_out_browse() Local $var = FileOpenDialog("Fichier destination", "", "All (*.*)", 8) If Not @error Then GUICtrlSetData($I_past_out, $var) EndIf Return 1 EndFunc Func _past_go() Local $fragNum = Number(GUICtrlRead($I_past_num)) Local $inFile = GUICtrlRead($I_past_in) Local $outFile = GUICtrlRead($I_past_out) Local $ret = 0 ; ##### check ##### If $inFile = "" Then Return MsgBox(16, "SplitIt", "Aucun fichier spécifié!") If Not FileExists($inFile) Then Return MsgBox(16, "SplitIt", "Le fichier à recoller n'existe pas!") If Not StringInStr($inFile, "_part1") Then Return MsgBox(16, "SplitIt", "Le fichier spécifié n'est pas un morceau de fichier découpé avec SplitIt!" & @CRLF & "Ou ne correspond pas au PREMIER morceau!") If Not IsInt($fragNum) Or $fragNum = 0 Then Return MsgBox(16, "SplitIt", "Nombre de morceaux invalide") ; ##### END ##### If $outFile = "" Then $outFile = Default $ret = _fileUnSplit($inFile, $fragNum, $outFile) If $ret = -1 Then MsgBox(16, "SplitIt", "Erreur durant le recollage!") Return EndIf MsgBox(48, "SplitIt", "Fichier recoller avec succes!") EndFunc ; ##### END #####