Что хранится по этому пути? Знаю только, что там есть файл PhysicalDrive0, в котором хранятся данные о запуске системы.
- 68,117
- 165
2 Answers
Никакой папки \\\\.\\ не существует. Существует префикс \\.\ (при записи в строковых константах в Си-подобных языках обратная косая черта удваивается), который используется для передачи в функцию CreateFile имени устройства вместо имени файла. Например \\.\PhysicalDrive0 соответствует диску, \\.\COM1 - последовательному порту и т.п.
Подробнее см. в Win32 Device Namespaces
- 20,179
Насколько я понял твой вопрос, ты имеешь в виду \\.\ (\\?\). Не уверен точно, как это объяснить.
Этот префикс самые прошаренные используют для создания и удаления запрещенных папок) Пример:
md \\?\C:\Users\User\con\
echo Создает папку con, которую по идее нельзя создать в windows
rd \\?\C:\Users\User\con
echo Удаляет её же
md \\?\D:\lpt1
rd \\?\D:\lpt1
Точно такие же махинации можно проворачивать, используя . вместо ?:
md \\.\C:\con
rd \\.\C:\con
Что интересно, так это то, что в эту папку из консоли не перейти.
echo Я создал две папки - con и aux (обе нельзя создать по идее)
cd con
Системе не удается найти указанный путь.
cd aux
Системе не удается найти указанный путь.
Так же нельзя использовать \\.\ (\\?\) для перехода:
cd \\?\C:\con
"\\?\C:\con"
CMD.exe не поддерживает пути UNC в качестве текущей папки.
echo То же самое с точкой.
cd \\.\C:\con
"\\.\C:\con"
CMD.exe не поддерживает пути UNC в качестве текущей папки.
Что говорит Google по поводу UNC:
Universal Naming Convention (условная конвенция наименований)
Стандарт для идентификации серверов, принтеров и других ресурсов в сети, которые зародились в комьюнити Unix. UNC-путь использует двойные косые черты или обратные косые черты, чтобы предшествовать имени компьютера.
Насколько я понял сам, UNC (\\?\) является сетевым путем.
- 209
- 1
- 15
-
-
1\?\ это не совсем UNC, это префикс, который отключает проверки WinAPI, в первую очередь по длине пути. То, что он позволяет создать файл с запрещенным именем не знал, интересно. И с префиксом \.\ для Device Namespace он похоже взаимозаменяем. А CMD.exe просто все, что начинается с \ отпихивает как UNC. – MSDN.WhiteKnight Jun 15 '20 at 09:36
/) "лежит на поверхности" – aleksandr barakin Apr 09 '18 at 15:49