Во-первых, я думаю, что вы можете получить более четкие ответы, если будете более четко определять, что вы подразумеваете под "работой с файлами".
Нет, нет ничего похожего на "UID" для файла или каталогов. Но если вы хотите динамически отслеживать состояние файлов и каталогов и получать уведомления о событиях, когда они перемещаются / изменяются / удаляются и т. Д. Вы можете использовать *. 1003 * FileSystemWatcher класс .NET.
Используя эту технику, вы можете начать, например, со словаря, ключом которого может быть какой-то UID или GUID, или что-то еще, вида Dictionary , где string может быть исходное имя файла. Затем, когда вы получаете события от FileSystemWatcher, вы можете обновить второй словарь , где его строка может быть измененным путем к файлу:
Я на самом деле не предлагаю вам конкретно использовать здесь словари, а просто использовать их как возможные примеры структур данных, которые вы можете создать, чтобы отслеживать определенные файлы по оригинальному имени / местоположение и (возможно) измененное имя / местоположение ... или, если они удалены, скопированы и т. д.