J'ai écrit un petit bout de code qui doit me déplacer des données d'un répertoire à un autre si le dossier existe. Ce script fonctionne bien la première fois mais lors de la seconde exécution (et plus) j'obtiens l'erreur : Error : The requested action with this object has failed
Voici le code :
Code : Tout sélectionner
; Déplacements des données %USERNAME%
$dir_old = $ph1_part_DATA & "Utilisateurs\old_" & $current_user & "\"
$dir_new = $ph1_part_DATA & "Utilisateurs\" & $current_user & "\"
$ar_Array = _FileListToArrayEx($dir_old, Default, Default, "", Default)
If @error = 0 Then
$dir_total = $ar_Array[0]
If $dir_total > 0 Then
LogFile("[Phase 04 - Etape 01] - Début de : Récuperation des données %USERNAME%")
$i = 1
While $i <= $dir_total
$result = StringRight($ar_Array[$i], 4)
$result = StringLeft($result, 1)
If $result = "." Then
$len = StringLen($ar_Array[$i]) ; Compte le nombre de caractères
$cut1 = $len - 23 ; Calcul
$line = StringRight($ar_Array[$i], $cut1) ; Coupe en fonction de $cut (en partant de la droite)
$line1 = $dir_new & $line ; Résultat
FileMove($ar_Array[$i], $line1)
Sleep(1000)
LogFile("Déplacement du fichier : " & $ar_Array[$i])
Else
$len = StringLen($ar_Array[$i]) ; Compte le nombre de caractères
$cut1 = $len - 23 ; Calcul
$line = StringRight($ar_Array[$i], $cut1) ; Coupe en fonction de $cut (en partant de la droite)
$line1 = $dir_new & $line ; Résultat
DirMove($ar_Array[$i], $line1)
Sleep(1000)
LogFile("Déplacement du dossier : " & $ar_Array[$i])
EndIf
$i = $i + 1
WEnd
EndIf
LogFile("Fin de : Récuperation des données %USERNAME%")
Sleep(2000)
EndIf
Pouvez-vous me venir en aide ? et accessoirement, que pensez-vous de ce code ?
D'avance merci.



