Page 1 sur 1
[R] Recupere les fichier d'un dossier et sous dossier .
Posté : mer. 19 nov. 2014 12:26
par hiplorenzo
Bjr, c'est mon premier post dans le fofo espérant bien que je trouverai une solution
voila ,je veux récupéré tous les fichier ".doc" dans les dossiers et sous dossiers dans le path est @desktopdir sachant que je connais pas le nom des dossier et sous dossier exacte
merci d'avance
ce code récupère que les fichier sur le bureau
Code : Tout sélectionner
#include<Array.au3>
#include"RecFileListToArray.au3"
Global $a_files,$i
Global $sPath=@DesktopDir
$ar_Array = _RecFileListToArray ($sPath, "*.odt;*.doc", 0, 0, 2, 1, "Temp")
$a_filest=_ArrayDisplay($ar_Array, "Liste fichier") ; Ceci est facultatif, c'est juste pour afficher la liste des fichiers.
For $i = 1 To $a_files[0]
MsgBox(0,"",$a_files[$i])
Next
Re: RECUPERe LES FICHIER .DOC DANS DOSSIER et SOUS DOSSIER
Posté : mer. 19 nov. 2014 14:04
par jguinch
Merci de modifier le sujet du message afin qu'il respecte les
règles de présentation d'un message.
Re: [..] Recupere les fichier d'un dossier et sous dossier .
Posté : mer. 19 nov. 2014 15:09
par orax
_RecFileListToArray est déconseillé. Il est conseillé d'utiliser _FileListToArrayRec à la place.
Il y a aussi un truc à faire attention : un fichier qui apparaît sur le bureau n'est pas forcément dans @DesktopDir, il peut se trouver dans @DesktopCommonDir. @DesktopCommonDir étant le répertoire "C:\Users\Public\Desktop".
Code : Tout sélectionner
#include <Array.au3>
#include <File.au3>
#include <FileConstants.au3>
Global $a_files, $i
Global $sPath = @DesktopDir
$ar_Array = _FileListToArrayRec($sPath, "*.odt;*.doc", $FLTAR_FILES, $FLTAR_RECUR, $FLTAR_FASTSORT, $FLTAR_RELPATH)
_ArrayDisplay($ar_Array, "Liste fichier") ; Ceci est facultatif, c'est juste pour afficher la liste des fichiers.
For $i = 1 To $ar_Array[0]
MsgBox(0, "", $ar_Array[$i])
Next
Re: [..] Recupere les fichier d'un dossier et sous dossier .
Posté : mer. 19 nov. 2014 19:21
par hiplorenzo
orax a écrit :_RecFileListToArray est déconseillé. Il est conseillé d'utiliser _FileListToArrayRec à la place.
Il y a aussi un truc à faire attention : un fichier qui apparaît sur le bureau n'est pas forcément dans @DesktopDir, il peut se trouver dans @DesktopCommonDir. @DesktopCommonDir étant le répertoire "C:\Users\Public\Desktop".
Code : Tout sélectionner
#include <Array.au3>
#include <File.au3>
#include <FileConstants.au3>
Global $a_files, $i
Global $sPath = @DesktopDir
$ar_Array = _FileListToArrayRec($sPath, "*.odt;*.doc", $FLTAR_FILES, $FLTAR_RECUR, $FLTAR_FASTSORT, $FLTAR_RELPATH)
_ArrayDisplay($ar_Array, "Liste fichier") ; Ceci est facultatif, c'est juste pour afficher la liste des fichiers.
For $i = 1 To $ar_Array[0]
MsgBox(0, "", $ar_Array[$i])
Next
merci orax infiniment

Re: [..] Recupere les fichier d'un dossier et sous dossier .
Posté : mer. 19 nov. 2014 20:33
par hiplorenzo
ya t'il un autre monyen de les récupéré fichier par fichier dans une variable non un tableau

Re: [..] Recupere les fichier d'un dossier et sous dossier .
Posté : mer. 19 nov. 2014 21:22
par Hugues
Bonjour,
Avec comme Orax:
ou
Code : Tout sélectionner
For $i = 1 To $ar_Array[0]
$toto &= $ar_Array[$i] & "; "
Next
Re: [..] Recupere les fichier d'un dossier et sous dossier .
Posté : mer. 19 nov. 2014 21:39
par hiplorenzo
Re: [..] Recupere les fichier d'un dossier et sous dossier .
Posté : mer. 19 nov. 2014 22:24
par hiplorenzo

hm J'arrive pas a supprime les fichier recupere avec la fonction fileDelete ni FileRecycle y'a t'il une solution ????
Re: [..] Recupere les fichier d'un dossier et sous dossier .
Posté : mer. 19 nov. 2014 23:10
par orax
Montre ton code déjà, pour voir ce qui cloche.
Re: [..] Recupere les fichier d'un dossier et sous dossier .
Posté : mer. 19 nov. 2014 23:29
par hiplorenzo
hi Orax, je veux supprime tous les fichier trouvé mais sa fonctionne pas
Code : Tout sélectionner
#include <Array.au3>
#include <File.au3>
#include <FileConstants.au3>
Global $ar_Array, $i,$files
Global $sPath = @DesktopDir
$ar_Array = _FileListToArrayRec($sPath, "*.odt;*.doc", $FLTAR_FILES, $FLTAR_RECUR, $FLTAR_FASTSORT, $FLTAR_RELPATH)
_ArrayDisplay($ar_Array, "Liste fichier") ; Ceci est facultatif, c'est juste pour afficher la liste des fichiers.
For $i = 1 To $ar_Array[0]
MsgBox(0, "", $ar_Array[$i])
$files= $ar_Array[$i]
FileDelete($files)
Next
Re: [..] Recupere les fichier d'un dossier et sous dossier .
Posté : mer. 19 nov. 2014 23:53
par orax
C'est normal, le chemin des fichiers trouvés est relatif par rapport au bureau. Par exemple, "fichier.doc" au lieu de de "C:\Users\truc\Desktop\fichier.doc".
Une solution est de remplacer $FLTAR_RELPATH par $FLTAR_FULLPATH :
Code : Tout sélectionner
$ar_Array = _FileListToArrayRec($sPath, "*.odt;*.doc", $FLTAR_FILES, $FLTAR_RECUR, $FLTAR_FASTSORT, $FLTAR_FULLPATH)
Re: [R] Recupere les fichier d'un dossier et sous dossier .
Posté : jeu. 20 nov. 2014 00:10
par hiplorenzo
oh cool sa marche ,faux jouer sur les paramètre de la fonction j'ai pas fait attention
merci orax une autre fois

Re: [..] Recupere les fichier d'un dossier et sous dossier .
Posté : jeu. 20 nov. 2014 09:48
par jguinch
@hiplorenzo, la balise [R] se met dans le titre du
premier message. C'est modifié.

Re: [R] Recupere les fichier d'un dossier et sous dossier .
Posté : jeu. 20 nov. 2014 14:09
par hiplorenzo
Bjr, je cherche une autre solution équivalent a mon code "moin du code"
j'ai ajouté une liste de direction a parcourir pour trouve les fichier .doc
merci
Code : Tout sélectionner
#include <Array.au3>
#include <File.au3>
#include <FileConstants.au3>
Global $ar_Array, $i, $files, $h = 2, $search
Global $direct[$h] = [@ScriptDir, @DesktopDir]
for $h=0 to 1
Switch $h
Case 0
$search = $direct[$h]
delete($search)
Case 1
$search = $direct[$h]
delete($search)
EndSwitch
Next
Func delete($sPath)
$ar_Array = _FileListToArrayRec($sPath, "*.odt;*.doc", $FLTAR_FILES, $FLTAR_RECUR, $FLTAR_FASTSORT, $FLTAR_FULLPATH)
For $i = 1 To $ar_Array[0]
$files = $ar_Array[$i]
MsgBox(0, "", $files)
FileDelete($files)
Next
EndFunc ;==>delete
le code fonctionne mais il me fait cette erreur je pense sa viens le fait qu'il trouve pas un fichier
ERREUR
(48) : ==> Subscript used on non-accessible variable.:
For $i = 1 To $ar_Arra[0]
For $i = 1 To $ar_Arra^ ERROR
Re: [R] Recupere les fichier d'un dossier et sous dossier .
Posté : jeu. 20 nov. 2014 14:58
par Hugues
Salut,
Tu mets une condition que si il ne trouve rien tu sors...
Code : Tout sélectionner
If @error Then
msgbox(64, "", "No files found" & @CRLF & "Erreur: " & @extended)
;@extended retourne le code erreur
;1 - Path not found or invalid
;2 - Invalid Include parameter
;3 - Invalid Exclude parameter
;4 - Invalid Exclude_Folders parameter
;5 - Invalid $iReturn parameter
;6 - Invalid $iRecur parameter
;7 - Invalid $iSort parameter
;8 - Invalid $iReturnPath parameter
;9 - No files/folders found
Exit
EndIf
Re: [R] Recupere les fichier d'un dossier et sous dossier .
Posté : jeu. 20 nov. 2014 15:26
par hiplorenzo
merci Hugues sa marche ,si quelqu’un arrive a réduire le code avec une autre methode qu'il poste ça methode et merci pour tous le monde
Code : Tout sélectionner
#include <Array.au3>
#include <File.au3>
#include <FileConstants.au3>
Global $ar_Array, $i, $files, $h = 2, $search
Global $direct[$h] = [@ScriptDir, @DesktopDir]
for $h=0 to 1
Switch $h
Case 0
$search = $direct[$h]
delete($search)
Case 1
$search = $direct[$h]
delete($search)
EndSwitch
Next
Func delete($sPath)
$ar_Array = _FileListToArrayRec($sPath, "*.odt;*.doc", $FLTAR_FILES, $FLTAR_RECUR, $FLTAR_FASTSORT, $FLTAR_FULLPATH)
If @error Then Exit
For $i = 1 To $ar_Array[0]
$files = $ar_Array[$i]
MsgBox(0, "", $files)
FileDelete($files)
Next
EndFunc ;==>delete