我如何知道 Windows 中的符号链接是否仍然有效?

我如何知道 Windows 中的符号链接是否仍然有效?

我有很多符号链接(Windows 7)。我如何知道它们是否正常工作或已失效(即原始文件已被删除/移动/重命名)?

我试过

if not exist mylink.txt echo The link is dead

但这不起作用:如果链接存在,无论链接是否失效,if exist总是会回答。true

答案1

您可以使用 fsutil 检查符号链接文件和链接文件是否都存在。

fsutil file queryfileid mylink.txt
if errorlevel 1 echo The link is dead

如果要检查文件夹中的所有符号链接,可以使用

FOR %%f IN (*) DO (
  fsutil file queryfileid %%f
  if errorlevel 1 echo The link is dead
)

但你应该小心。如果发生错误,fsutil 也可能以退出代码 1 退出。

相关内容