[R] Création de dossier et renomage (x) si déjà présent

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Julien
Niveau 5
Niveau 5
Messages : 141
Enregistré le : sam. 02 août 2008 17:01
Status : Hors ligne

[R] Création de dossier et renomage (x) si déjà présent

#1

Message par Julien »

Bonsoir,

J'ai fais une petite fonction mais le résultat n'est (presque) pas ce que je voudrais faire.
Cette fonction regarde dans un dossier existant si le dossier donné est existant, si il existe je voudrais rajouter (x) ou x représente un chiffre (à la mode microsoft si vous préférez.

Voila la fonction :

Code : Tout sélectionner

Global $Path_destination = "D:\NOM - 05102011"

Func creation_dossier()
    If FileExists($Path_destination & "\") Then
        $i = 2
        While FileExists($Path_destination & "\")
            $Path_destination = $Path_destination & " (" & $i & ")"
            $i = $i + 1
        WEnd
    EndIf
    DirCreate($Path_destination & "\" & @UserName)
EndFunc   ;==>creation_dossier
 
Cette fonction dans l'état retourne (si le dossier existe), NOM - 05102011 (2) puis NOM - 05102011 (2) (2), etc...

Merci d'avance pour l'aide éventuelle.

(je me suis trompé de catégorie je crois)
Modifié en dernier par Julien le mer. 05 oct. 2011 20:24, modifié 1 fois.
Avatar du membre
moi
Niveau 7
Niveau 7
Messages : 370
Enregistré le : sam. 09 juil. 2011 22:14
Localisation : devant sont ordinateur
Status : Hors ligne

Re: [..] Création de dossier et renomage (x) si déjà présent

#2

Message par moi »

Code : Tout sélectionner

Global $Path_destination = "D:\NOM - 05102011"

Func creation_dossier()
    If FileExists($Path_destination & ".ink") Then
        $i = 2
        While FileExists($Path_destination & ".ink")
            $Path_destination = "D:\NOM - 05102011 (" $i ")"
            $i = $i + 1
        WEnd
    EndIf
    DirCreate($Path_destination & "\" & @UserName)
EndFunc   ;==>creation_dossier
? :?: :?:
le problème ce n'est pas un problème, le seul problème ici c'est nous.

j'aime NYAN CAT Image
Julien
Niveau 5
Niveau 5
Messages : 141
Enregistré le : sam. 02 août 2008 17:01
Status : Hors ligne

Re: [..] Création de dossier et renomage (x) si déjà présent

#3

Message par Julien »

Bonsoir,

merci d'avoir répondu. J'ai mis un peu de temps à comprendre le texte mais j'ai finalement réussi.
J'ai pas compris le .lnk mais j'ai modifié comme ceci :

Code : Tout sélectionner

Global $Path_destination

Func creation_dossier()
    Local $temp_destination = "NOM - 05102011"
    Local $temp1_destination
    If FileExists(GUICtrlRead($Input_destination) & "\" & $temp_destination & "\") Then
        $i = 2
        While FileExists(GUICtrlRead($Input_destination) & "\" & $temp1_destination & "\")
            $temp1_destination = $temp_destination & " (" & $i & ")"
            $i = $i + 1
        WEnd
        $Path_destination = GUICtrlRead($Input_destination) & "\" & $temp1_destination
    Else
        $Path_destination = GUICtrlRead($Input_destination) & "\" & $temp_destination
    EndIf
    DirCreate($Path_destination & "\" & @UserName)
EndFunc   ;==>creation_dossier
 
Ce qui m'a fait réalisé que c'est pas comme ça que je voulais procéder.

Merci pour l'aide
Avatar du membre
moi
Niveau 7
Niveau 7
Messages : 370
Enregistré le : sam. 09 juil. 2011 22:14
Localisation : devant sont ordinateur
Status : Hors ligne

Re: [R] Création de dossier et renomage (x) si déjà présent

#4

Message par moi »

.ink est l'extension d'un dossier
le problème ce n'est pas un problème, le seul problème ici c'est nous.

j'aime NYAN CAT Image
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Création de dossier et renomage (x) si déjà présent

#5

Message par Tlem »

Personnellement, j'utiliserais ceci :

Code : Tout sélectionner

Creation_Dossier("D:\NOM - 05102011")

Func Creation_Dossier($sPath)
    local $Count = 1
    If FileExists($sPath & "\") Then
        While FileExists($sPath & " (" & $Count & ")" & "\")
            $Count += 1
        WEnd
        Return DirCreate($sPath & " (" & $Count & ")" & "\" & @UserName)
    Else
        Return DirCreate($sPath & "\" & @UserName)
    EndIf
EndFunc   ;==>creation_dossier
Ce qui permettra d'avoir la vraie structure Microsoft (Dossier, Dossier (1), Dossier (2), etc ...)
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é".
Julien
Niveau 5
Niveau 5
Messages : 141
Enregistré le : sam. 02 août 2008 17:01
Status : Hors ligne

Re: [R] Création de dossier et renomage (x) si déjà présent

#6

Message par Julien »

Merci pour l'aide, j'ai corrigé et cela fonctionne mieux.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Création de dossier et renomage (x) si déjà présent

#7

Message par mikell »

moi a écrit :.ink est l'extension d'un dossier
Oui, c'est l'extension du dossier où tu gardes les cartouches d'encre de réserve pour l'imprimante ^^

Par contre .lnk (pour "link") c'est l'extension des raccourcis Windows Image
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre