x
Главная > Windows, Как это сделать > Как найти все символическае ссылки и точки соединения в Windows

Как найти все символическае ссылки и точки соединения в Windows

Современные операционные системы поддерживает ссылки на файлы и  папки, которые позволяют получить к ним доступ, не делая копии содержимого.  Используемая по умолчанию в Windows файловая система NTFS поддерживает три типа ссылок: жесткие ссылки (Hard Links), точки соединения (Junctions) и символическая ссылки (Symbolic Links).

  • Жесткая ссылка (Hard Links) может быть сделана только на файлы. Фактически это дополнительная ссылка на файл в файловой системе с такими же свойствами, только не занимающая место на диске. При изменении содержимого файла, все приложения, которые используют ссылки для доступу к нему, видят изменения. Они не поддерживают UNC пути для доступа к сетевым ресурсам, путь которых начинается с «\\».  Была добавлена в Windows NT4.
  • Точка соединение (Junctions) это мягкая ссылка к локальной папке на компьютере. Она создает видимость существования папке в месте создания ссылки, скрывая  путь к исходной папке. К точке соединения нельзя обратиться, используя сетевые UNC пути которые начинаются «\\». Был добелена в Windows 2000.
  • Символическая ссылка (Symbolic Links) это мягкая ссылка, которая фактически представляет из себя ярлык. Ярлык может ссылаться на файл, папку, сетевой файл или папку, и даже общий ресурс в сети. В ссылке можно использовать сетевые пути UNC которые начинаются с «\\». Была добавлена в Windows Vista.

При удалении файлов в папке  в точке соединения или по символической ссылке, он будет уделен в исходной папке. При удалении точки соединения или символической ссылке, будет удалена только ссылки или точка соединения, а исходная папка и файлы останутся на месте. В случает с жесткой ссылки ситуация более интересная. По факту исходный файл это та же жесткая ссылка на раздел диска в котором храниться информация. Для удаления файла нужно удалить все жесткие ссылки, в том числе исходный файл. Если удалить исходный файл на который есть жесткие ссылки, он не будет удален.

Получение списка символических ссылок и точек соединения

1. Запускаем командую строку от имени администратора. Для этого зажимаем сочетание клавиш «Win + R». В открывшемся окне вводим «cmd», зажав клавиши «Shift + Ctrl» нажимаем кнопку «OK».

2. Вводим командную строку

DIR /AL /S «C:\Users»

Где «C:\Users», это папка, для которой будет выведен список символических ссылок и точек соединения. Вместо этого вводим нужную папку или диск. Путь к папке берем в кавычки, на случай если в названии используются пробелы.

Чтоб список символических ссылок и точек соединения  был сохранен в текстовый файл, вводим.

DIR /AL /S «C:\» or DIR /AL /S «C:\» > «%UserProfile%\Desktop\Links.txt»

Где «%UserProfile%\Desktop\Links.txt» это путь и название файла со списком ссылок. В нашем случае файл с названием Links.txt сохраниться на рабочем столе.

3. После вывода команды будет выведен список папок, в которых есть  символические ссылки на файлы и папки, и точки соединения, с названием файла/папки и путем к его источнику. Различить их можно по типам (1):

  • <JUNCTION> —  точка соединения на файл
  • <SYMLINK> — символическая ссылка на файл
  • <SYMLINKD> — символическая ссылка на папку

В крайней левой строке правая часть символическая ссылка (2), а в квадратных скобках (3) файл или папка источник.

4. Если нужны только символические ссылки вводим

dir /AL /S «C:\Users» | find «SYMLINK»

Если нужны  только точка соединения вводим

dir /AL /S «C:\Users» | find «JUNCTION»

Где «C:\Users», это путь к папке о которой нужно получить информацию.

Для того чтоб список символических ссылок  был сохранен в файл вводим

dir /AL /S «C:\Users» | find «SYMLINK» > «%UserProfile%\Desktop\Links.txt»

Для того чтоб список точек соединения был сохранен в файл вводим

dir /AL /S «C:\Users» | find «JUNCTION»> «%UserProfile%\Desktop\Links.txt»

Где «%UserProfile%\Desktop\Links.txt» это путь и название файла в который будет сохранен список, в данном случае файл под названием Links.txt будет  создан на рабочем столе.

Получение списка жестких ссылок

1. Запускаем командую строку. Для этого нажимаем быстрые клавиши «Win + R». В окне которое откроется, вводи  «cmd» и нажимаем кнопку «OK».

2. Переходим в папку, для которой хотим получить список жестких ссылок. Для этого вводим

CD «C:\Test»

Где «C:\Test», это путь к нужной папке.

3. Вводим в командную строку

echo off & for /F «delims=» %A in (‘dir /s /b’) do echo. & fsutil hardlink list «%A»?

Чтоб список жестких ссылок был сохранен в файл вводим

echo off & for /F «delims=» %A in (‘dir /s /b’) do echo. & fsutil hardlink list «%A» > «%UserProfile%\Desktop\HardLinks.txt»

Где «%UserProfile%\Desktop\HardLinks.txt» это путь и название файла. В примере создается файл на рабочем столе HardLinks.txt

4. В списке с файлами если название файла окружено пустыми строками  (1), то это обычный файл на который можно не обращать внимание.  Если название файлов находиться в двух соседних строках это жесткие ссылки на файл.

  1. Пока что нет комментариев.
  1. Пока что нет уведомлений.