Удалить файлы из одной папки, если файл с аналогичным именем не существует в другой папке
Мне нужно удалить файлы из папки A, если файл с таким же именем, но с другим типом файла не существует в папке B.
Например:
FOLDER A
file1.gif
file2.gif
file3.gif
file4.gif
file5.gif
file6.gif
FOLDER B
file2.jpg
file4.jpg
file6.jpg
Пакетный файл или программное обеспечение будет сравнивать две папки и удалять file1.gif
, file3.gif
а также file5.gif
из папки А.
1 ответ
Решение
Вы можете сделать это прямо из командной строки:for %F in ("A\*.gif") do @if not exist "B\%~nF.jpg" echo del "%F"
Приведенный выше пример просто выводит команды, чтобы вы могли убедиться, что они будут выполнять то, что вы хотите. После того, как вы уверены, что все в порядке, удалите echo
и это на самом деле будет работать delete
,
Конечно, вы можете поместить это в пакет, если вы хотите, чтобы заменить %
с %%
и удалить @
(и, возможно, добавить @echo off
вместо)