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.

ajcw
la source

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)

wmz
la source
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