Problème de script pour supprimer des dossiers

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Wiltech
Niveau 3
Niveau 3
Messages : 33
Enregistré le : ven. 02 juin 2017 15:50
Localisation : Tours
Status : Hors ligne

Problème de script pour supprimer des dossiers

#1

Message par Wiltech »

Bonjour,
Mon script à pour but de garder que 3 dossier (les dossiers des 3 dernier mois)mais je n'arrive pas à lui dire que ci 0>3 supprimer tous les dossier > à 3
Voila mon script :

Code : Tout sélectionner

#include <File.au3>
#include <Array.au3>
#include <MsgBoxConstants.au3>

Test()

Func Test()

Global $DOSCHEMIN = "C:\Test\"
Global $display = _FileListToArray ( $DOSCHEMIN, Default, 2, True )

_ArraySort ( $display, 1, 1)
_ArrayDisplay ($display, "class" )

If $display [0] > 3 Then

DirRemove ($DOSCHEMIN)

EndIf

EndFunc
Merci à tous ceux qui m’aideront :D :D
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Problème de script pour supprimer des dossiers  

#2

Message par walkson »

Bonjour,
Vous prenez de forts raccourcis :mrgreen:
$display = _FileListToArray ( $DOSCHEMIN, Default, 2, True ) retourne un array (tableau). Il faut donc boucler chaque élément pour la recherche (For....Next).
FileGetTime () retourne les infos que vous recherchez
Ce qui nous donne pour les mois > 3 et l'année = 2017 des dossiers du bureau
#include <Array.au3>
#include <File.au3>
$sFilePath=@DesktopDir
$aArray = _FileListToArray($sFilePath, "*", $FLTA_FOLDERS, True)
_ArrayDisplay($aArray)

   For $i = 1 To $aArray[0]
      $ArrayTime = FileGetTime ($aArray[$i],$FT_MODIFIED )
         If $ArrayTime[1] > 3 And $ArrayTime[0] = 2017 Then ConsoleWrite($aArray[$i] & @CRLF)
         ToolTip($aArray[$i], 200,200)
         _ArrayDisplay($ArrayTime)

        Next
Bien sûr, les _ArrayDisplay() et Tooltip() ne sont pas indispensables mais pour visualiser
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
Wiltech
Niveau 3
Niveau 3
Messages : 33
Enregistré le : ven. 02 juin 2017 15:50
Localisation : Tours
Status : Hors ligne

Autres question

#3

Message par Wiltech »

Merci encore :D
J'ai encore une question dans une "msgBox" je définit comme "flag 3" il me mets des proposition "oui" "non" "annuler" mais quand j'appuis sur l'un des bouton ça me met toujours le même résultat. Donc ma question ces est-qu'on peut programmer ces bouton pour lui dire que ci je fais "non" par exemple il n’exécuteras pas la tâche.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Problème de script pour supprimer des dossiers

#4

Message par mikell »

ça se fait dans le script. La fonction Msgbox retourne l'id du bouton pressé

$res = Msgbox(3, "test", "test")
If $res = 6 Then
    Msgbox(0,"", "yes  :)")
Else
    Msgbox(0,"", "no  :(")
EndIf
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Wiltech
Niveau 3
Niveau 3
Messages : 33
Enregistré le : ven. 02 juin 2017 15:50
Localisation : Tours
Status : Hors ligne

Re: Problème de script pour supprimer des dossiers

#5

Message par Wiltech »

Merci, grâce à vous deux mon script est terminer et il marche à la perfection. :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:
Répondre