3

Что хранится по этому пути? Знаю только, что там есть файл PhysicalDrive0, в котором хранятся данные о запуске системы.

2 Answers2

10

Никакой папки \\\\.\\ не существует. Существует префикс \\.\ (при записи в строковых константах в Си-подобных языках обратная косая черта удваивается), который используется для передачи в функцию CreateFile имени устройства вместо имени файла. Например \\.\PhysicalDrive0 соответствует диску, \\.\COM1 - последовательному порту и т.п.

Подробнее см. в Win32 Device Namespaces

2

Насколько я понял твой вопрос, ты имеешь в виду \\.\ (\\?\). Не уверен точно, как это объяснить.
Этот префикс самые прошаренные используют для создания и удаления запрещенных папок) Пример:

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 (\\?\) является сетевым путем.

LeopardL GD
  • 209
  • 1
  • 15
  • Если это не то, что было нужно, то я удалю ответ – LeopardL GD Jun 15 '20 at 09:16
  • 1
    \?\ это не совсем UNC, это префикс, который отключает проверки WinAPI, в первую очередь по длине пути. То, что он позволяет создать файл с запрещенным именем не знал, интересно. И с префиксом \.\ для Device Namespace он похоже взаимозаменяем. А CMD.exe просто все, что начинается с \ отпихивает как UNC. – MSDN.WhiteKnight Jun 15 '20 at 09:36