У меня много символических ссылок (Windows 7). Как я узнаю, работают ли они или они мертвы (то есть исходный файл был удален / перемещен / переименован)?

Я старался

if not exist mylink.txt echo The link is dead

Но это не работает: если ссылка существует, if exist всегда отвечайте « true независимо от того, является ли ссылка мертвой или нет.

1 ответ1

3

Вы можете использовать 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, если произойдет ошибка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .