Supprimer des fichiers d'un dossier si un fichier portant le même nom n'existe pas dans un autre dossier


8

J'ai besoin de supprimer des fichiers du dossier A si un fichier du même nom mais de type de fichier différent n'existe pas dans le dossier B.

Par exemple:

FOLDER A
file1.gif
file2.gif
file3.gif
file4.gif
file5.gif
file6.gif

FOLDER B
file2.jpg
file4.jpg
file6.jpg

Le fichier de commandes ou le logiciel comparerait les deux dossiers et les supprimerait file1.gif, file3.gifet file5.gifdu dossier A.

Réponses:


7

Vous pouvez le faire directement à partir de la ligne de commande: l'
for %F in ("A\*.gif") do @if not exist "B\%~nF.jpg" echo del "%F"
exemple ci-dessus imprime simplement les commandes afin que vous puissiez vérifier qu'il fera ce que vous voulez. Une fois que vous êtes sûr qu'il est correct, supprimez-le echoet il fonctionnera delete.
Vous pouvez bien sûr mettre cela en lot, si vous le souhaitez, remplacez-le %par %%et supprimez @(et ajoutez-le probablement à la @echo offplace)


Cela a parfaitement fonctionné - je souhaite pouvoir voter deux fois. Merci beaucoup.
ajcw

for %F in ("A\*.gif") do @if exist "B\%~nF.jpg" echo del "%F"
Fonctionne
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.