Як знайти всі символічні посилання в Windows Vista або 7?


10

Я шукаю спосіб пошуку всіх символьних посилань на файловій системі NTFS у Windows Vista або 7.

Було б ще краще, якби я міг би вказати конкретну мету, щоб побачити, чи є у неї якісь символічні посилання, але спосіб пошуку їх усіх був би великий.

Відповіді:


15

Ось найкращий спосіб, який я знайшов:

dir /a:l /s

Але це потворно. Я віддаю перевагу списку, який відображає один файл на рядок у форматі target = & gt; джерело або щось подібне. Налаштування для SYMLINK не є успішним через багаторядковий формат. Головний перемикач / B не дає нічого, крім цільового імені файлу.

Зауважте, що grep - це багаторядковий інструмент. Ви можете використовувати -an, щоб захопити як попередні, так і наступні n рядків, і -An просто захопити наступні n рядків. Наприклад, grep -A10 configure захопить наступні десять рядків після знаходження слова "configure". Якщо у вас було 2 примірники слова, налаштуйте 3 рядки один від одного, то в кінцевому підсумку ви берете 14 рядків.


5

З Все пошук було переписано (січень 2013 р.), тепер можна шукати атрибути. Запит на " атрибут: L "розкриє все Символічні посилання різних типів на вашому комп'ютері. Показати стовпець "Атрибути" (Ctrl + Shift + 8) для сортування за атрибутами.

Ви також можете створити фільтр для цього конкретного пошуку атрибутів (пошук, додавання до фільтрів), якщо ви виконуєте цей тип пошуку часто або хочете призначити комбінацію клавіш.

Я помітив початковий атрибут: пошук виявився замкнутим все тимчасово, але закінчився через кілька секунд ... коштував маленького чекання такого потужного інструменту.


2

Спробуйте SageLinks - невелика безкоштовна утиліта з відкритим вихідним кодом для Windows, вона може знаходити та повторно перевіряти всі символічні посилання, а також сполучення та ярлики:

SageLinks Screenshot


Чи можна додати деяку інформацію про посилання, на відміну від картини? Вартість, як ви її знайшли, чи пов'язані ви з нею, тощо?
Canadian Luke

Це посилання на сторінку GitHub з безкоштовною утилітою з відкритим вихідним кодом, яка знаходить (і перевіряє правильність) всі символічні посилання в Windows XP або пізнішій версії, як це задається в цьому питанні.
Nikolay Raspopov

Дивовижний, ви можете редагувати щоб додати це у відповідь? Це допомагає майбутнім відвідувачам знати, якщо це гарна відповідь швидше
Canadian Luke

Приємно і швидко. Але NTFS жорсткі посилання, як c: / a // b працюють нормально в win7; в той час як sagelink позначає їх як недійсні. Win7 дозволяє використовувати як косі риски, зворотні косого риски, так і додаткові риски.
mosh

Не дозволено. Опишіть, будь ласка, як ви створили такі посилання?
Nikolay Raspopov

2

Ви можете спробувати безкоштовний інструмент, Перехід через SysInternals

Щоб шукати всі символічні посилання на диску, перейдіть до кореня і введіть:

C:\> junction -s -q

-s проходить всі підкаталоги

-q ігнорує такі помилки, як "Доступ заборонено".

Це надасть вам всі точки повторного використання, які використовує Windows.

Якщо ви хочете визначити, чи є певний файл або папку точкою відтворення, просто введіть ім'я утиліти та ім'я файлу / папки після. Будьте обережні з іменами папок, оскільки додавання зворотної коси може змінити результати.

C:\> junction c:\apps

Junction v1.06 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

c:\apps: JUNCTION
   Substitute Name: e:\dropbox\apps

C:\>

0

Для всіх пошуків файлів на системах Windows я пропоную використовувати Все . Це дуже швидко і дуже легкий.


Все акуратно, але, здається, не в змозі фільтрувати за точками сполучення Windows, символічними посиланнями і т.д.
wojo

0

Я теж шукав цю можливість і не бачив її ніде. Я додав його до своїх бібліотек Windows для Python. На жаль, якщо ви ще не є завзятим програмістом Python, у вас є кілька кроків, щоб встановити все.

  1. Завантажити Python 2.6.4 та встановіть його.
  2. Завантажити distribute-setup (частина поширювати ) або ez_setup (частина setuptools ) і запустіть сценарій. Це встановить один з двох менеджерів пакетів для Python, який мій пакет вимагає для запуску.
  3. Використовуйте easy_install для встановлення jaraco.windows пакет і його залежності. У командному рядку:

x

\Python26\scripts\easy_install jaraco.windows

Після виконання цих кроків у вас повинен бути скрипт python26 scripts find-symlinks.exe або python26 scripts find-symlinks-script.py, який можна виконати з додатковим ім'ям шляху для пошуку символічних посилань. Він буде шукати символічні посилання і повідомляти результати, по одній лінії. Я перевірив цю процедуру на чистій установці Windows 7.

> cmd /c mklink /d mylink \windows 
symbolic link created for mylink <<===>> \windows
> cmd /c mklink myfilelink \windows\notepad.exe
symbolic link created for myfilelink <<===>> \windows\notepad.exe

> \python26\scripts\find-symlinks
D .\mylink --> \windows
  .\myfilelink --> \windows\notepad.exe

0

Cygwin / bash скрипт для win7

c:\> cat find-dead-links.sh
#!/usr/bin/bash
find . -maxdepth 3 -type l -print0 |
while IFS=   read -r -d $'\0' file ;do
  [[ -e "$file" ]] && continue
  echo "Bad link $file"
done 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.