Как я могу заставить командный файл определить, действительно ли каталог является соединением?
-
27-10-2019 - |
Вопрос
Я пишу пакетный файл (.bat), и мне не удалось найти способ определить, является ли данный каталог, к которому у меня есть путь, реальным каталогом или узлом (созданным в Windows 7 с помощью mklink /j
).Может ли кто-нибудь указать мне правильное направление?
Решение
Это паршивая техника, но сгенерировать кодовый код путь к файлу не удастся (сгенерировать кодовый код будет 1), если файл не является соединением, и успешно (сгенерировать кодовый код будет 0), если он есть.Другая проблема заключается в том, что fsutil reparsepoint query
хочет, чтобы вы были администратором.Кроме того, не все точки повторной обработки являются перекрестками каталогов.
Другие советы
В пакетном сценарии вы можете использовать следующее:
родовое слово это быстрее, чем вызов DIR /AL
.
Генеракодический код тега получает атрибуты "linkfilename",
строка из 9 символов, например, %%~aA
(каталог),
или сгенерировать кодировку ссылки на каталог,
или сгенерировать кодовую ссылку на файл.
d--------
затем получает только атрибут точки повторной обработки.
У меня есть эта маленькая жемчужина, в которой будут перечислены все соединения и их цели в вашем текущем каталоге:
родовое словоПример вывода:
родовое слово