[Ex] Créateur de fichiers et dossiers en masse

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
ZOTHOP
Niveau 3
Niveau 3
Messages : 42
Enregistré le : lun. 14 févr. 2011 14:14
Status : Hors ligne

[Ex] Créateur de fichiers et dossiers en masse

#1

Message par ZOTHOP »

Dans le but de travailler sur des fichiers et des dossiers (renommer, déplacer, supprimer etc...) et ne voulant pas risquer de détruire des fichiers importants, je me suis créé un logiciel qui va me produire des fichiers et dossiers inutiles en masse dans le dossier de mon choix pour travailler dessus sans problèmes par la suite.

1) Sélectionnez un dossier de destination dans la case "Destination Folder", cliquez sur "Browse" pour ouvrir une boite qui vous permettra de sélectionner ou créer ce dossier. Vous devez sélectionner un dossier vide ou en créer un nouveau. J'ai mis en place cette sécurité afin que vous ne détruisiez pas par erreur des fichiers et dossiers importants qui porteraient les mêmes noms que les fichiers et dossiers inutiles générés avec cet utilitaire.

Attention, il n'est pas parfait du tout à utiliser avec précautions , il souffre de quelques bugs, j'ai réussi par exemple à sélectionner un dossier alors qu'il contenait des raccourcis ( donc des fichiers ), il s'est planté quand j'ai sélectionné la racine de c:\, plus moyen d'ouvrir la boite de sélection des dossiers.

2) Entrer le nombre de fichiers ou de dossiers à créer dans le dossier de destination grâce à la case "Number of files or folders". Attention ! pour éviter de saturer inutilement par erreur le disque dur avec un trop grand nombre de dossiers ou de fichiers, j'ai bridé volontairement la création à 50, je pense que c'est largement suffisant de toute façon. Si vous tapez plus de 50, le chiffre retournera à 50 automatiquement.

3) Sélectionnez ensuite un des deux radios "Files" ( pour créer des fichiers ) ou "Folders" ( pour créer des dossiers ) et cliquez sur le bouton "GO".


A utiliser avec précaution ! En espérant que cet outil vous serve !

C'est une version béta, je vous laisse modifier le code à votre convenance !

Code : Tout sélectionner

; code mis à jour le 01 août 2011, vérification que le dossier destination est vide. ( bouton "Browse" ), $Input1 disabled pour éviter de taper soi même le nom du dossier et échapper au contrôle de sa taille.
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ###
$Form1 = GUICreate("FilesOrFoldersCreation", 418, 233, 192, 124)
$Input1 = GUICtrlCreateInput("", 32, 48, 281, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Button1 = GUICtrlCreateButton("Browse...", 328, 48, 75, 25)
$Input2 = GUICtrlCreateInput("", 32, 128, 217, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
$Label1 = GUICtrlCreateLabel("Destination Folder", 32, 24, 89, 17)
$Label2 = GUICtrlCreateLabel("Number of files or folders", 32, 104, 120, 17)
$Radio1 = GUICtrlCreateRadio("Files", 40, 176, 113, 17)
$Radio2 = GUICtrlCreateRadio("Folders", 40, 208, 113, 17)
$Button2 = GUICtrlCreateButton("GO", 328, 176, 75, 49)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$choice=0
While 1
    $nMsg = GUIGetMsg()
    $ControlInput2=GUICtrlread($Input2)
    if $ControlInput2>50 Then
        GUICtrlSetData($Input2,50) ; You can create 50 files or folders maximum 
        EndIf
    Select
    Case $nmsg=$Radio1
        $choice=1 ; select Radio "Files"
    Case $nMsg=$Radio2
        $choice=2 ; select Radio "Folders"
    Case $nMsg=$Button1
        $selectfolder=FileSelectFolder("Select a folder","",1) ; click Button "Browse...", open a FileSelectFolder
$verify=DirGetSize($selectfolder,1)
        if $verify[0]>0 or $verify[1]>0 or $verify[2]>0 Then
            MsgBox(16,"WARNING","The folder "&$selectfolder&" is not empty. Please select another folder or create a new !")
        $selectfolder=FileSelectFolder("Select a folder","",1)
        EndIf
        GUICtrlSetData($Input1,$selectfolder) ; add the  full path of the folder chosen in Input1 : "Destination Folder"
    Case $nMsg=$Button2
        $ControlInput1=GUICtrlRead($Input1)
        $ControlInput2=GUICtrlread($Input2)
      
        if $ControlInput1="" Then ; if Input 1 : "Destination Folder" is empty
            MsgBox(16,"WARNING !!!","Select a destination folder please !")
        EndIf
        if $ControlInput2="" Then ; if Input2 : "Number of files or folders" is empty
            MsgBox(16,"WARNING !!!","Enter a number of file(s) or folder(s) please")
        EndIf
        If $choice<1 or $choice>2 Then ; if Radio1 : "Files" or Radio2 : "Folders" are not selected
            MsgBox(4096,"","Please select radio 'Files' or 'Folders' !")
        EndIf
        
        if $choice=1 Then  ; if Radio1 : "Files" is selected, file(s) will create
            for $a=1 to $ControlInput2
            $file=FileOpen($ControlInput1&"\test"&$a&".txt",2)
            FileWrite($file,"Test"&$a)
            FileClose($file)
        Next
        ElseIf $choice=2 Then ; if Radio 2 : "Folders" is selected, folder(s) will create
            for $a=1 to $ControlInput2
            DirCreate($ControlInput1&"\test"&$a)
            next
        EndIf
        
        
    EndSelect
    
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

    EndSwitch
WEnd

 
J'ai fait l'effort de le fabriquer en anglais pour que vous puissiez éventuellement le distribuer à vos connaissances anglo-saxonnes. Excusez mon anglais approximatif :D !
"T'es encore devant ton ordinateur","J'ai essayé derrière mais ça marche nettement moins bien"
Répondre