Возможно ли получить доступ к файлу в проводнике Windows или MS-DOS с использованием только unique file ID? Я думал, что могу набрать что-то вроде {FILE_ID.VOLUME}
ex. {2319237819273897.1}
и откроется файл c: \ temp \ myfile.txt. Эта функция может быть полезна для доступа к файлу, который был перемещен в другой каталог, поскольку уникальный идентификатор файла остается неизменным после перемещения файла (даже несколько раз) и остается неизменным до тех пор, пока файл не будет удален.Открытый файл Windows с использованием уникального идентификатора
ответ
Это зависит от файловой системы. FAT не имеет идентификаторов файлов, но в низкоуровневом API Windows есть механизмы для открытия файла по его уникальному идентификатору. Это зависит от того, как обрабатывать этот идентификатор - FAT генерирует идентификатор динамически, в то время как NTFS работает с уникальными идентификаторами файлов в некотором роде (я не знаю деталей, хотя).
Идентификатор файла был добавлен в Windows для совместимости с некоторыми материалами Unix, и это не широко используемая функция. Я не знаю, можете ли вы использовать его через Win32 API (и так из Explorer).
Обновление: спасибо Harry Johnston в комментариях сейчас, я знаю, что вы можете открыть файл, используя OpenFileById Функция WinAPI, которая появилась в Vista.
Из внутренних окон Windows: * «В дополнение к хранению идентификатора объекта, присвоенного файлу или каталогу [...], NTFS также сохраняет соответствие между идентификаторами объектов и номерами их файлов в индексе $ O [...]. Индекс сопоставляет записи по идентификатору объекта, что упрощает работу с файловой системой NTFS, которая позволяет быстро находить файл на основе его идентификатора. Эта функция позволяет приложениям ** использовать недокументированные функции API для открытия **, чтобы открыть файл или каталог, используя свой идентификатор объекта. " * Вы правы, можно получить доступ к файлу на томе NTFS с помощью его идентификатора, но он недоступен в Windows API. – IInspectable
@IInpectable: это было правдой, но я считаю, что он устарел: [OpenFileById] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa365432 (v = vs.85)) .aspx) –
@ Харри: Спасибо за исправление. Вы случайно не знаете, способен ли API работать с томами FAT, или это только NTFS/ReFS? В случае, если кому-то это интересно, 128-битный идентификатор файла можно получить с помощью вызова [GetFileInformationByHandleEx] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa364953.aspx), передающего ' Значение файла информации файла FileIdInfo' (Win 8, Server 2012). 64-битный идентификатор файла можно получить при вызове [GetFileInformationByHandle] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa364952.aspx). – IInspectable
- 1. Создание уникального идентификатора ОС Windows
- 2. Нажатие значений объекту с использованием уникального идентификатора
- 3. Автоматическая генерация уникального идентификатора с использованием COBOL
- 4. Создание уникального идентификатора с использованием двух строк
- 5. Стратегия уникального идентификатора
- 6. Создание уникального идентификатора
- 7. hexadecimal до уникального идентификатора
- 8. Извлечение уникального идентификатора с ПК с использованием PHP без PECL?
- 9. Генерация идентификатора уникального числа
- 10. Создание уникального идентификатора пользователя
- 11. Создание уникального идентификатора для заданной строки с использованием php
- 12. Создание уникального идентификатора биллинга
- 13. Создание уникального уникального идентификатора в Python
- 14. Изменение уникального идентификатора жесткого диска
- 15. Извлечение уникального идентификатора из файла
- 16. Инициализация уникального идентификатора сеанса с Autofac
- 17. Предоставление уникального идентификатора ячейке таблицы
- 18. изменить открытый файл C++
- 19. Добавление элемента в инвентарь с использованием уникального идентификатора (python)
- 20. Триггер уникального идентификатора пользователя MySQL с использованием конкатенированных столбцов подстроки
- 21. Автоматическое увеличение не уникального идентификатора при создании с использованием SQLAlchemy
- 22. Создание уникального идентификатора с использованием PHP и MYSQL
- 23. Создание уникального идентификатора на каждом сервере с использованием PHP
- 24. Создание случайных чисел в C# с использованием уникального идентификатора
- 25. Получение уникального идентификатора устройства в iphone с использованием ионного каркаса
- 26. Создание уникального идентификатора в PHP
- 27. Проверка и создание уникального идентификатора
- 28. Как увеличить открытый открытый файл Windows, используемый _open_osfhandle?
- 29. Хранение уникального идентификатора документа в Интернете
- 30. Объединить значение сгенерированного уникального идентификатора
MS-DOS вряд ли будет иметь отношение к вашему вопросу, если вы не используете двойную загрузку. Вы имели в виду интерфейс командной строки Windows? Кроме того, идентификаторы файлов, указанные в ссылке, необязательно остаются неизменными с точки зрения пользователя, поскольку многие приложения изменяют файл, удаляя его и создавая новый. С точки зрения пользователя, это тот же файл, но в отношении NTFS это другое. –