Comme j'avais quelques minutes, j'ai fait directement ce code. Ca fera gagner du temps à tous le monde.
Code : Tout sélectionner
#include <File.au3>
$Chemin = "c:\Test"
; On crée un tableau avec la liste des fichier *.txt + chemin complet présents dans le répertoire.
; Si besoin de recherche récursive, alors utiliser _FileListToArrayRec
; $aFiles = _FileListToArray ($Chemin, "*.txt", 1, 1, 1, 0, 2)
$aFiles = _FileListToArray($Chemin, "*.txt", 1, 1)
; On vérifie que la recherche à été fructueuse, sinon => Erreur !!!
If not IsArray($aFiles) Then
MsgBox(16, "Erreur", "Aucun fichier .txt trouvé !")
Exit
EndIf
; On déclare quelques variables qui seront utilisées dans la suite du code.
Local $aPathSplit, $sDrive = "", $sDir = "", $sFilename = "", $sExtension = "", $count = 0
;~ ; On lit le tableau du début à la fin (de la case 1 à la taille du tableau 1)
For $i = 1 to UBound($aFiles) - 1
; On décompose les élément de la "cellule" $aFiles[$i] en chemin + nom de fichier dans un autre tableau :
$aPathSplit = _PathSplit($aFiles[$i], $sDrive, $sDir, $sFilename, $sExtension)
; on utilise les éléments 1, 2, 3 du tableau pour vérifier si :
; Si le fichier \chemin\xxx.doc n'existe pas alors on supprime \chemin\xxx.txt
If Not FileExists($aPathSplit[1] & $aPathSplit[2] &$aPathSplit[3] & ".doc") Then
FileDelete($aFiles[$i])
$count += 1 ; On incrémente le compteur à chaque suppression.
EndIf
Next
MsgBox(64, "Terminé", "Opération terminée. " & $count & " fichier(s) supprimé(s)")