Page 1 sur 1

[R] Copiers fichier dans Array vers dossier

Posté : ven. 07 juil. 2017 10:53
par jcaspar
B :D onjour à vous

Mon script liste les fichiers tmp présents sur c et les fichiers pst sur d
pourriez vous svp m'expliquer comment faire pour copier les fichiers listés dans
$ar_Arrayc dans un dossier

En vous remerciant pour vos conseils
#include<Array.au3>
#include<FileListToArray3.au3>

 $ar_Arrayc = _FileListToArray3 ("c:\", "*.tmp", 1, 1, 1,"Archives Lecteur C|PST")
_ArrayDisplay($ar_Arrayc, "Liste fichier sur lecteur C")  ; Ceci est facultatif, c'est juste pour afficher la liste des fichiers.

$ar_Arrayd = _FileListToArray3 ("d:\", "*.pst", 1, 1, 1,"Archives Lecteur D|PST")
_ArrayDisplay($ar_Arrayd, "Liste fichier sur lecteur d")
 

Re: [..] Copiers fichier dans Array vers dossier

Posté : ven. 07 juil. 2017 23:05
par Tlem
Bonsoir.

Pour faire cela, vous devez faire une boucle de lecture du tableau de la cellule 1 à la dernière cellule et dans cette boucle, vous devez exécuter pour chaque élément le/les traitements à effectuer.
Généralement on utilise la boucle For/Next :

Code : Tout sélectionner

For $i = 1 To Ubound($ar_Arrayc) - 1
	FileCopy($ar_Arrayc[$i], "La ou je doit copier le fichier + nom")
Next
Après, de tête je ne me rappelle plus si les options que vous utilisez pour _FileListToArray3 retourne le nom + le chemin du fichier. Si ce n'est pas le cas, vous devrez adapter le nom du fichier source de la commande FileCopy en rajoutant le chemin. ^^

Re: [..] Copiers fichier dans Array vers dossier

Posté : lun. 10 juil. 2017 14:46
par jcaspar
Merci beaucoup pour cette information voici mon code
#include <Array.au3>
#include <FileListToArray3.au3>

global $FC_CREATEPATH
 $ar_Arrayc = _FileListToArray3 ("c:\", "*.tmp", 1, 1, 1,"Archives Lecteur C|PST")
_ArrayDisplay($ar_Arrayc, "Liste fichier sur lecteur C")  

 $dimension=ubound($ar_Arrayc)
 For $i = 0 to $dimension-1
    ConsoleWrite($ar_Arrayc[$i] & @LF)
$repertoire="D:\meuh"
FileCopy("test.txt",$repertoire, $FC_CREATEPATH)
DirCreate("D:\meuh")
$v=filecopy($ar_Arrayc[$i],"d:\meuh",$FC_CREATEPATH)
ConsoleWrite($v)
$size=FileGetSize($ar_Arrayc[$i]/1048576)

ProgressOn($ar_Arrayc[$i], $size & "MB" , "0%")
    ; mise à jour de la valeur de progression
    For $a = 10 To 100 Step 20
        Sleep(1000)
        ProgressSet($a, $a & "%")
    Next
    ; définir le texte de la fenetre d'avancement
    ProgressSet(100, "Copie Finalisée", "FIN")
    Sleep(5000)

    ; fermeture de la barre de progression
    ProgressOff()
Next