Необходимо сравнить файлы в каталоге и удалить похожие файлы (но это сложнее, чем обычно)

Необходимо сравнить файлы в каталоге и удалить похожие файлы (но это сложнее, чем обычно)

так что у меня есть довольно странная потребность в моей рабочей среде, и у меня много проблем с ее пониманием. Я постараюсь сделать это как можно короче и приятнее, но объяснение некоторой предыстории является ключевым моментом, чтобы понять, почему все так сложно. Кроме того, все это в среде Windows, так как это, вероятно, важно, lol.

Итак, мне нужен способ автоматически перемещать PDF-файлы после их редактирования в определенные папки. Для этого я планирую, чтобы пользователи редактировали PDF-файлы, а затем сохраняли их как и добавляли букву в конце. Что-то вроде AB111d попадет в папку Done, но если это будет AB111u, то попадет в папку Uncompleted, например. Я уже разобрался с этим через Robocopy, это довольно просто.

Вот тут-то и возникает проблема: файлы уже названы в соответствии со структурой именования, которая нам нужна, когда они помещаются в основную папку, поэтому пользователю НЕ нужно переименовывать весь файл, а просто добавлять букву (здесь важна скорость, поэтому ввод всего имени будет значительной тратой времени, когда эти пользователи делают это сотни раз в день). Но мне ТАКЖЕ нужно удалить (или переместить тоже сработает) исходный файл в каталоге, к которому не добавлена ​​буква.

Например, пользователь открывает AB111, работает с ним, сохраняет как и переименовывает его в AB111d, скрипт robocopy, который я использую, перемещает AB111d в папку Done, но AB111 все еще там, этот исходный файл AB111 — это файл, который мне нужно как-то удалить (опять же, или переместить, его просто не должно быть в рабочей папке пользователя, чтобы он знал, что он уже закончил его). Независимо от того, является ли это скриптом или может произойти во время сохранения как, любой из них подойдет.

Есть ли способ, скажем, сравнить файлы в каталоге, но БЕЗ добавленной буквы? Так что я мог бы затем сравнить рабочий каталог с каталогом Done (например), но без добавленной буквы "d" в файлах каталога Done. А затем удалить/переместить исходный файл.

Последнее замечание: все это необходимо автоматизировать с помощью скриптов и делать это не чаще одного раза в 5 минут.

решение1

Робокопия имеет возможность:

/mov    Moves files, and deletes them from the source after they are copied.

Если вам нужно исключить файлы, которые присутствуют в месте назначения, но отсутствуют в источнике, они называются "дополнительными файлами". Исключение дополнительных файлов предотвратит любые удаления из места назначения. Для этого есть следующий вариант:

/xx     Excludes extra files and directories.

Связанный контент