Bonsoir à tous.
Dans une boucle FOR, je lis un fichier ligne par ligne, chaque ligne correspond à un fichier (avec son chemin), je teste si le fichier existe et si oui j’inscris dans un fichier de sortie que le fichier untel est présent/existe.
Voici ma boucle:Le problème, c'est pour les fichiers dont je ne connais pas le nom exacte mais juste une partie. Exemple de fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for /f "delims=" %%i in ('type %FileTemp%') do ( if exist "%%i" ( echo [Fichier présent]--- %%i >>%$log% ) )
%WINDIR%\3d8c097a-d75d-43d1-aa88-eb4ad99df514-1.exe
Les caractères sont aléatoire mais le nom à toujours le même nombre de caractère puis un - puis même nombre de caractères encore un - etc... pour finir par l’extension que je connais aussi.
Donc dans mon fichier lu ligne par ligne j'utilise le jocker * pour les caractères inconnus, ce qui donne donc comme ligne:
%WINDIR%\*-*-*-*-*-*.exe
Si le fichier 3d8c097a-d75d-43d1-aa88-eb4ad99df514-1.exe existe, pas de soucis, il est bien détecté, seulement dans le fichier de sortie ça va marquer [Fichier présent]--- %WINDIR%\*-*-*-*-*-*.exe.
Ce que je voudrait c'est obtenir le nom réel du fichier, en sachant qu'il y a beaucoup de fichiers testés pour très peu dont je ne connais pas le nom exacte donc je ne peux pas trop alourdir le code/la boucle qui sera exécuté pour chaques lignes/fichiers testés en sachant que très peu sont concernés par le joker *.
J'espère avoir été assez clair dans mon explication.
Merci par avance de votre attention.
Partager