[Ex] Créateur de fichiers et dossiers en masse
Posté : lun. 01 août 2011 09:14
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 !
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
!
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
