[R] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

#21

Message par Tlem »

D'accord, ça j'avais bien compris, mais ce que je vous demandes, c'est : Montrez nous ce que vous avez fait pour constater ce qui ne fonctionne pas !

Envoyé de mon SM-N9005 en utilisant Tapatalk

Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

#22

Message par Boulanza »

Voici le code:
#include <File.au3>
#include <Array.au3>

Local $arrayDrive = DriveGetDrive("All")
_ArrayDisplay($arrayDrive)
For $y = 1 To $arrayDrive[0] ;boucle sur drive
$Drive = StringUpper($arrayDrive[$y]) & "\" ; => C:\ à la place de c:
ToolTip("Recherche sur " & $Drive, 100,200)
$array = _FileListToArrayRec ($Drive,"*.doc", $FLTAR_FILES ,$FLTAR_RECUR,$FLTAR_NOSORT,$FLTAR_FULLPATH );le file, récursive, pas de trie, chemin complet
    If IsArray($array) Then
                _ArrayDisplay($array)
                For $i = 1 To $array[0] ;boucle sur fichier Doc
               
  FileSetAttrib($array[$i] & "\", "-A-H-R-S", 1)
           
  $info = StringLeft(FileGetTime($array[$i],1,1),8)
                        $info_1 = StringLeft(FileGetTime($array[$i],0,1),8)
                        If $info = @YEAR & @MON & @MDAY Or $info_1 = @YEAR & @MON & @MDAY Then ;si créé ou modifié


                              $rep = MsgBox(4,"Supprimer",$array[$i])
                                        If $rep = 6 Then

               ;FileDelete($array[$i])
                                        FileRecycle ($array[$i])
                                        EndIf
                        EndIf
                Next
        Else
                MsgBox(0,$Drive,"rien de trouvé")
        EndIf
ToolTip("")
Next
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

#23

Message par Tlem »

Ah ouais, quand même .... :shock:

Bon, alors déjà, FileSetAttrib($array[$i] & "\", "-A-H-R-S", 1) revient à écrire : FileSetAttrib("C:\Mondossier1\MonDossier2\MonFichier.doc\", "-A-H-R-S", 1)
Il n'y à rien qui vous choque ?

Ensuite, l'utilisation du flag 1 signifie que vous faites une action récursive ! Mais là, vous spécifiez le nom du fichier, donc la récursivité ne doit pas être appliquée.

Pour continuer, l'utilisation des attributs est incorrect. Vous devez utiliser ce type de syntaxe : FileSetAttrib($File, "-AHRS")

Pour finir, quel est l'intérêt de modifier les attributs d'un fichier si vous n'avez pas l'intention de le supprimer ?
La ligne avec FileSetAttrib doit être placée avant la commande de suppression !

3 "erreurs" sur une seule commande ça fait beaucoup. Pas étonnant qu'AutoIt plante. :lol:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

#24

Message par Boulanza »

C'est la cas Monsieur Tlem: 3 "erreurs" sur une seule commande ça fait beaucoup. Pas étonnant qu'AutoIt plante.
$rep = MsgBox(4,"Supprimer",$array[$i])
 If $rep = 6 Then

FileSetAttrib($array[$i], "-AHRS", 1)
;FileDelete($array[$i])
FileRecycle ($array[$i])
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

#25

Message par Tlem »

Je ne comprend pas votre réponse.
Et vous utilisez toujours la récursion !
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

#26

Message par Boulanza »

AutoIt plante si j'utilise la récursion. Comme il n'y a pas de solution si les fichiers "*.doc" sont cachés. Je vais continuer à chercher d'autres solutions...
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

#27

Message par Tlem »

Heuuu, vous le faîtes exprès là ...
Je veux bien comprendre que vous ne maîtrisez pas AutoIt, mais quand même, je vous ait expliqué précédemment pourquoi vous NE DEVEZ PAS utiliser la récursion.

Donc effectivement, si vous persistez a vous taper la tête contre le mur, ben ouais, ça fait mal. ^^

Si vos fichiers .doc son cachés (quelle drôle d'idée) alors vous devez modifier l'attribut avant de lister les fichiers, sinon c'est un non-sens.


Envoyé de mon SM-N9005 en utilisant Tapatalk


Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

#28

Message par Boulanza »

Bonsoir,
Merci Tlem. Grâce à vos remarques, le code suivant marche parfaitement.
Cordialement.
#include <File.au3>
#include <Array.au3>
Local $arrayDrive = DriveGetDrive("All")
_ArrayDisplay($arrayDrive)
For $y = 1 To $arrayDrive[0] ;boucle sur drive
   $Drive = StringUpper($arrayDrive[$y]) & "\" ; => C:\ à la place de c:
   ToolTip("Recherche sur " & $Drive, 100, 200)
   $array = _FileListToArrayRec($Drive, "*.doc", $FLTAR_FILES, $FLTAR_RECUR, $FLTAR_NOSORT, $FLTAR_FULLPATH) ;le file, récursive, pas de trie, chemin complet
   If IsArray($array) Then
      _ArrayDisplay($array)
      For $i = 1 To $array[0] ;boucle sur fichier Doc
         $info = StringLeft(FileGetTime($array[$i], 1, 1), 8)
         $info_1 = StringLeft(FileGetTime($array[$i], 0, 1), 8)
         If $info = @YEAR & @MON & @MDAY Or $info_1 = @YEAR & @MON & @MDAY Then ;si créé ou modifié
            $rep = MsgBox(4, "Supprimer", $array[$i])
            If $rep = 6 Then
               
FileSetAttrib($array[$i], "-A-H-R-S", 0)
               
                                         ;FileDelete($array[$i])
               FileRecycle($array[$i])
            EndIf
         EndIf
      Next
   Else
      MsgBox(0, $Drive, "rien de trouvé")
   EndIf
   ToolTip("")
Next
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

#29

Message par Tlem »

FileSetAttrib($array[$i] & "\", "-A-H-R-S", 0) :evil: Je vous ai dit FileSetAttrib($array[$i], "-RASH")
- L'antislash est en trop
- Pour les attributs il est ridicule d'écrire 4 fois le signe moins
- Quand au dernier paramètre, il y est par défaut, donc inutile de la rajouter.

En plus, vu que ce sont des fichiers .Doc cachés :roll: seul l'attribut -H est nécessaire !
Donc FileSetAttrib($array[$i], "-H")

Maintenant, un truc me chiffonne. Si _FileListToArrayRec liste bien vos fichiers cachés, alors la commande FileSetAttrib est superflue puisque vous spécifiez le nom du fichier !


Edit : Je viens de tester _FileListToArrayRec avec des fichiers cachés et il sont bien listés. Du coup FileSetAttrib ne sert à rien. ^^
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [R] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

#30

Message par Boulanza »

Bonsoir,
Merci Tlem pour toutes vos suggestions qui sont à leurs justes valeurs.
Cordialement.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

#31

Message par Tlem »

Soit, mais si vous lisiez un peu plus l'aide des commandes vous éviteriez ces pertes de temps inutiles.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [R] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

#32

Message par Boulanza »

On trouve pas toutes les solutions sur l'aide Autoit. Sinon...
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Est ce possible de lister sous la fonction "_FileListToArrayEx" les fichiers crées à la date du jour.

#33

Message par Tlem »

Pour le cas présent, oui !

Envoyé de mon SM-N9005 en utilisant Tapatalk

Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre