我怎么可以做一批文件中发现,如果一个目录实际上是一个结?
-
27-10-2019 - |
题
我正在写的一批文件(.bat)和我不可能找到一种方式来发现,如果给定目录我们的道路是一个真正的目录或结(上创建Windows7通过使用 mklink /j
).任何人都可以点我在正确的方向?
解决方案
这是一种糟糕的技术,但是如果文件不是联结,那么fsutil reparsepoint query
文件路径将失败(%ERRORLEVEL%
将为1),如果文件不是一个,则成功(%ERRORLEVEL%
将为0)。另一个问题是fsutil
希望您成为管理员。此外,并非所有的重新解析点都是目录联结。
其他提示
在批脚本可以使用如下:
SET Z=&& FOR %%A IN (linkfilename) DO SET Z=%%~aA
IF "%Z:~8,1%" == "l" GOTO :IT_A_LINK
这是比打电话快 DIR /AL
.
的 %%~aA
得到的属性"linkfilename",
9字符串像 d--------
(a directory),
或 d-------l
链接目录,
或 --------l
一个链接到文件。
%Z:~8,1%
然后抓住的只是重新分析点属性。
我有这个小宝石,它将列出您当前目录中的所有结及其目标: 通用标签
示例输出: 通用标签
不隶属于 StackOverflow