Bonjour à tous,
J'ai écris la commande ci-dessous pour supprimer à la racine d'emplacements spécifiques, des fichiers qui ont un nom composé uniquement d'une séquence d'un ou plusieurs caractère(s) alphabétique(s) et/ou point(s) d'exclamation, suivie d'une séquence de 5 chiffres (de 0 à 9) ou plus, et d'une extension d'un ou plusieurs caractères :Je rencontre un problème avec la commande
Code batch : Sélectionner tout - Visualiser dans une fenêtre à part FOR /F "eol=? delims=" %%G IN ('dir /A:-D-L /B "%~dp0archive\Desktop" "%~dp0archive\Documents" "%~dp0archive\Pictures" ^| findstr /R /C:"[a-Z!][0-9][0-9][0-9][0-9][0-9][0-9]*\.[^\.][^\.]*$"') Do del /a /f /q "%%~G"Je ne trouve pas comment lui donner l'emplacement spécifique du/des fichier(s) trouvé(s). Avec la commande actuelle, c'est la racine de l'emplacement %~dp0archive qui est prise en compte.
Code batch : Sélectionner tout - Visualiser dans une fenêtre à part del /a /f /q "%%~G"
Je pensais à modifier la commande en définissant manuellement les emplacements comme ceci :
mais cela déclenche la suppression sur tous les emplacements à la fois alors qu'un fichier localisé à un emplacement l'est pas forcément sur les 2 autres. J'ai aussi pensé à utiliser la condition if exist mais cela peut augmenter significativement le délai de suppression d'autant qu'il y a beaucoup de fichiers à traiter.
Code batch : Sélectionner tout - Visualiser dans une fenêtre à part del /a /f /q "%~dp0archive\Desktop\%%~G" "%~dp0archive\Documents\%%~G" "%~dp0archive\Pictures\%%~G"
N'est-il pas possible de récupérer plutôt l'emplacement réel de chaque fichier trouvé et de donner cet emplacement à la commande del
Merci de vos éclairages![]()
Partager