Como sei se um link simbólico no Windows ainda funciona?

0

Eu tenho muitos links simbólicos (Windows 7). Como sei se eles estão funcionando ou se estão mortos (ou seja, o arquivo original foi excluído / movido / renomeado)?

Eu tentei

if not exist mylink.txt echo The link is dead

Mas isso não funciona: se o link existir, if exist sempre responderá true , independentemente de o link estar ou não morto.

    
por Basj 13.06.2013 / 14:28

1 resposta

3

Você pode usar fsutil para verificar se o arquivo de link simbólico e o arquivo vinculado existem.

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

Se você quiser verificar todos os links simbólicos em uma pasta, use

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

Mas você deve tomar cuidado. O fsutil também pode sair com o código de saída 1 se ocorrer um erro.

    
por 13.06.2013 / 16:31