Как я могу заставить командный файл определить, действительно ли каталог является соединением?

StackOverflow https://stackoverflow.com/questions/4845039

Вопрос

Я пишу пакетный файл (.bat), и мне не удалось найти способ определить, является ли данный каталог, к которому у меня есть путь, реальным каталогом или узлом (созданным в Windows 7 с помощью mklink /j).Может ли кто-нибудь указать мне правильное направление?

Это было полезно?

Решение

Это паршивая техника, но сгенерировать кодовый код путь к файлу не удастся (сгенерировать кодовый код будет 1), если файл не является соединением, и успешно (сгенерировать кодовый код будет 0), если он есть.Другая проблема заключается в том, что fsutil reparsepoint query хочет, чтобы вы были администратором.Кроме того, не все точки повторной обработки являются перекрестками каталогов.

Другие советы

В пакетном сценарии вы можете использовать следующее:

родовое слово

это быстрее, чем вызов DIR /AL.

Генеракодический код тега получает атрибуты "linkfilename",
строка из 9 символов, например, %%~aA (каталог),
или сгенерировать кодировку ссылки на каталог,
или сгенерировать кодовую ссылку на файл.

d-------- затем получает только атрибут точки повторной обработки.

У меня есть эта маленькая жемчужина, в которой будут перечислены все соединения и их цели в вашем текущем каталоге:

родовое слово

Пример вывода:

родовое слово
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top