[R] Suppression d'un répertoire et de son contenu
Posté : jeu. 12 août 2010 17:17
Bonjour à tous,
Je suis en train de m'arracher les cheveux sur une pauvre boucle
Je cherche à supprimer un répertoire ainsi que son contenu dans une arborescence. Ne sachant pas ou se trouve ce répertoire, j'utilise une boucle de recherche récursive sur les répertoires et je compare le dernier élément(répertoire retourné par ma fonction GetElementName) contenu dans la valeur retournée par mon tableau au nom de mon répertoire à supprimer.
(J'espère avoir été assez clair
).
Voici mon code :
Mon problème est le suivant :
Je n'arrive pas à supprimer ce $#!!%$# de répertoire : le dirremove me retourne systématiquement le code 0.
Quelqu'un a t'il une idée ?
Par avance merci.
Je suis en train de m'arracher les cheveux sur une pauvre boucle
Je cherche à supprimer un répertoire ainsi que son contenu dans une arborescence. Ne sachant pas ou se trouve ce répertoire, j'utilise une boucle de recherche récursive sur les répertoires et je compare le dernier élément(répertoire retourné par ma fonction GetElementName) contenu dans la valeur retournée par mon tableau au nom de mon répertoire à supprimer.
(J'espère avoir été assez clair
Voici mon code :
Code : Tout sélectionner
$a_Array = _FileListToArrayXT ($s_RepLocal, "*", 2, 2, True)
$s_RepLocal = "F:\RepLocal"
$RepaSupprimer = "TOTO"
For $i=$a_Array[0] To 1 Step -1
If GetElementName($a_Array[$i],0) = $RepaSupprimer Then ; on recherche le répertoire "TOTO" pour supprimer son contenu
$ResultRemove = DirRemove($a_Array[$i], 1)
If $ResultRemove = 1 Then
MsgBox(0,"", "suppression ok")
ExitLoop
Else
MsgBox(0,"", "suppression erreur")
ExitLoop
EndIf
EndIf
Next
; #FUNCTION# ====================================================================================================================
; Name...........: GetElementName
; Description ...: Récupération d'un élément (répertoire ou fichier) dans le chemin passé en paramètre
; Syntax.........: GetElementName($PpathFile, $PdirPlace)
; Parameters ....: $PpathFile - Chemin du fichier complet
; $PdirPlace - Position de l'élement à récupérer
; - Le dernier répertoire représente (celui qui contient le fichier) le niveau 1 (0 étant le fichier)
; Return values .: Success - Retourne le nom de l'élément à la position spécifiée
; Failure - Retourne 0
; Author ........: J. COTTA (peuchere83)
; ===============================================================================================================================
Func GetElementName($PpathFile, $PdirPlace)
$a_DirName = StringSplit($PpathFile, "\")
If $PdirPlace > $a_DirName[0] Then
Return 0
Else
Return($a_DirName[$a_DirName[0] - $PdirPlace])
EndIf
EndFuncJe n'arrive pas à supprimer ce $#!!%$# de répertoire : le dirremove me retourne systématiquement le code 0.
Quelqu'un a t'il une idée ?
Par avance merci.