[R] Dircopy / copier "certains" dossiers.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

[R] Dircopy / copier "certains" dossiers.

#1

Message par DimVar »

Bonjour,

Je souhaiterais faire une copie de 5 dossiers, qui ont pour nom, l'heure à laquelle ils sont générés. Sous cette forme : HHMMSS, soit pour 10h22 et 25 sec --> 102225.

La fonction que j'aurais aimé employer :

Code : Tout sélectionner

DirCopy ("d:\data\10*", "c:\temp\,1)
Seulement, ca ne marche pas.
Je voudrais copier tous les dossiers du dossier "d:\data\" mais seulement ceux qui commence par 10.
Une idée ?

[edit]je precise que dans le dossier "data" se trouvent d'autres dossier commencant par exemple par 15 (dossiers de 15h)
Modifié en dernier par DimVar le mar. 03 juin 2008 17:14, modifié 1 fois.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..]Dircopy / copier "certains" dossiers.

#2

Message par Tlem »

Vous n'avez probablement pas bien lu ceci dans l'aide :
dest dir = Path of the destination dir (with no trailing backslash). e.g. "C:\Path_Copy"
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é".
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Dircopy / copier "certains" dossiers.

#3

Message par DimVar »

Ok pour le backslash, mais meme sans, il semblerait que le caractere "*" ne soit pas pris en compte.
????
Si je formule autrement ma requette, ca donnerait :
Comment copier tous les dossiers commencant par "10" ?

Merci à vous.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Dircopy / copier "certains" dossiers.

#4

Message par Tlem »

Effectivement, la commande DirCopy n'accepte pas les caractères génériques.

Donc voici une alternative (Parmi tant d'autres) :

Code : Tout sélectionner

$Src = @ScriptDir           ; Le dossier source.
$Dst = @ScriptDir & "\Test" ; Le dossier de destination.
$Srch = "10*"               ; Le masque de recherche.

; Si la destination n'existe pas on la crée (A cause d'une limitation de DirMove)
If Not FileExists($Dst) Then DirCreate($Dst)

; On commence la recherche.
$search = FileFindFirstFile($Srch)

; Si pas de fichiers/dossiers touvés on sort.
If $search = -1 Then
    Exit
Else
; Boucle de recherche et d'action.
    While 1
        $file = FileFindNextFile($search)
        ; Si plus de fichiers/dossiers on sort.
        If @error Then ExitLoop
        
        ; Pour ne prendre en compte que les dossiers.
        If StringInStr(FileGetAttrib ($file), "D") Then
            DirMove($Src & "\" & $file, $Dst & "\" & $file, 1)
        EndIf

    WEnd

    FileClose($search)
EndIf
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é".
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Dircopy / copier "certains" dossiers.

#5

Message par DimVar »

Comment se fait il que lorsque je lis ton code, je trouve ca super clair et trés logique. Alors quand je suis devant la page blanche, je sais pas par où commencer....
Faudrais, je pense, commencer par trouver un "ordre" à la création d'un programme.

En tout cas, GROS merci.
J'espere ne pas t'avoir pris trop de ton temps. C'est vraiment sympa.

Je clos le sujet.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Répondre