Page 1 sur 1

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

Posté : mer. 05 oct. 2011 19:41
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)

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

Posté : mer. 05 oct. 2011 19:53
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
? :?: :?:

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

Posté : mer. 05 oct. 2011 20:24
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

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

Posté : mer. 05 oct. 2011 21:56
par moi
.ink est l'extension d'un dossier

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

Posté : mer. 05 oct. 2011 22:58
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 ...)

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

Posté : jeu. 06 oct. 2011 10:01
par Julien
Merci pour l'aide, j'ai corrigé et cela fonctionne mieux.

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

Posté : jeu. 06 oct. 2011 14:38
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