Как найти файлы с тем же именем и удалить все, кроме самого нового в Windows из командной строки
Я хочу хранить только самые новые версии файлов с одинаковыми именами в папке и подпапках. Другими словами, я хочу удалить дубликаты файлов в папке и подпапках, учитывая только то, что два файла являются дубликатами, если они имеют одинаковое имя (и расширение) и сохраняют только тот, который имеет самую новую дату изменения.
Я знаю, что могу сделать это вручную с помощью таких программ, как CCleaner или Nirsoft SearchMyFiles, но у них нет возможности выбрать все, кроме самого нового, для их удаления, вы должны сделать это вручную.
Так есть ли инструмент командной строки, или cmd bat или powershell для выполнения этой задачи?
1 ответ
Я сделал программу для вас здесь: https://github.com/ITCMD/Remove-Duplicates
DelDupe /?
выход:
Deletes duplicate Files except the latest edited.
DelDupe "Directory" "Filename" /F /C Character
Directory: Directory to search for duplicate names. Use C:\Users\IT Command\Documents\Batch Codes\Keep Recent Mod Date for current dir.
Filename: Duplicated Filename to search for
/F Do not prompt removal
/C Provide your own system character: The default character it uses to seperate files is ~. You don't need to know what this means, but if you have the ~ character in your filename then supply your own.
Character: The Character you want to use instead of ~
Example:
DelDupe "C:\Users\IT Command\Documents\Batch Codes\Keep Recent Mod Date" "Picture.png"
This example will surch all subdirectories in your current folder for a file called "Picture.png" and will delete all copies except for the most recently modified one.
Created by Lucas Elliott www.itcommand.tech
Обратите внимание, что это не сайт, чтобы попросить людей сделать для вас полные сценарии. Люди злятся, если вы не показываете, что пытались (я знаю, вы, вероятно, не знаете, с чего начать). Можно задавать вопрос, как вы, на мой взгляд, но не всегда ожидайте полного ответа. В любом случае мне просто нужно это для меня.