Windows определит, находится ли папка SymLink в пути
Здесь есть несколько решений, чтобы определить, является ли данная папка символической ссылкой...
но как определить, является ли одна из папок в пути SymLink...
не только непосредственный родитель...
а какая-нибудь папка предка???
например, в пути:
c:\dir1\dir2\dir3\dir4\dir5\dir6\file.txt
если "dir3" является символической ссылкой, как я могу его обнаружить
1 ответ
Пакетный файл, протестирован на Windows 10
@echo off
setlocal enableextensions disabledelayedexpansion
set "file=c:\dir1\dir2\dir3\dir4\dir5\dir6\file.txt"
for %%a in ("%file%") do for /f "delims=" %%b in ('
fsutil hardlink list "%%~fa"
') do if "%%~pnxa"=="%%b" (
echo no link
) else (
echo linked
echo "%%~pnxa"
echo "%%b"
)
Он использует fsutil
получить реальный путь к файлу, сравнив его с используемым путем.