Windows Vistaまたは7ですべてのシンボリックリンクを見つけるにはどうすればよいですか?


10

Windows VistaまたはWindows 7のNTFSファイルシステム上のすべてのシンボリックリンクを検索する方法を探しています。

特定のターゲットを指定して、それを指すシンボリックリンクがあるかどうかを確認できればさらに良いでしょうが、それらすべてを検索する方法も素晴らしいでしょう。

回答:


15

これが私がこれまでに見つけた最良の方法です:

dir /a:l /s

しかし、それは醜いです。私は、target => sourceなどの形式で、1行に1つのファイルを表示したリストを使用します。複数行形式のため、SYMLINKのGreppingはうまく機能しません。/ Bベアスイッチは、ターゲットファイル名以外の何も与えません。

grepは複数行ツールであることに注意してください。-anを使用して前のn行と次のn行の両方を取得し、-Anを使用して次のn行だけを取得できます。たとえば、grep -A10 configureは、「configure」という単語を見つけた後、次の10行を取得します。単語の2つのインスタンスが3行離れて構成されている場合、合計14行を取得することになります。


5

以来すべての検索が再書かれた(2013年1月)となっている、あなたは今の属性を検索することができます。" attrib:L "のクエリは、コンピューター上のさまざまなタイプのすべてのシンボリックリンクを明らかにします。属性で並べ替えるには、[属性]列(Ctrl + Shift + 8)を表示します。

そのタイプの検索を頻繁に行うか、キーボードショートカットを割り当てる場合は、その特定の属性検索(検索、フィルターに追加)のフィルターを作成することもできます。

私は最初の属性に気づきました検索は一時的にすべてをロックしているように見えましたが、数秒後に終了しました...そのような強力なツールを少し待つ価値はあります。


2

SageLinksをお試しください-Windows用の小さなフリーウェアオープンソースユーティリティです。ジャンクションやショートカットだけでなく、すべてのシンボリックリンクを見つけて再チェックできます。

SageLinksスクリーンショット


写真だけではなく、リンクに関する情報を追加できますか?コスト、どのようにそれを見つけたのか、あなたはそれと提携していますか?
カナダのルーク

これは、この質問で尋ねられたように、Windows XP以降のすべてのシンボリックリンクを検出(および有効性をチェック)するフリーウェアオープンソースユーティリティのGitHubページへのリンクです。
Nikolay Raspopov、2015年

すばらしいです。編集して回答に追加できますか?これは、将来の訪問者が良い答えであるかどうかをすばやく知るのに役立ちます
Canadian Luke

素晴らしくて速い。しかし、c:/ a // bのようなNTFSハードリンクは、win7では正常に機能します。一方、sagelinkはそれらに無効のフラグを付けます。Win7では、スラッシュ、バックスラッシュ、余分なスラッシュの両方を使用できます。
モッシュ2018年

禁止されている。そのようなリンクをどのように作成したか説明してください。
Nikolay Raspopov

2

SysInternalsによるJunctionという無料のツールを試すことができます。

ドライブ上のすべてのシンボリックリンクを検索するには、ルートに移動して次のように入力します。

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システムでのすべてのファイル検索について、Everythingを使用することをお勧めします。超高速で非常に軽量です。


すべてがきちんとしているが、Windowsの接合点、シンボリックリンクなどでフィルタリングできないようです
wojo

0

私もこの機能を探していましたが、他では見られませんでした。Python用のWindowsライブラリに追加しました。残念ながら、あなたがまだ熱心なPythonプログラマでない場合は、すべてをインストールするためのいくつかの手順があります。

  1. Python 2.6.4をダウンロードしてインストールします。
  2. ダウンロード配布セットアップ(の一部配布)またはez_setup(の一部setuptoolsの)スクリプトを実行します。これにより、私のパッケージの実行に必要なPython用の2つのパッケージマネージャーの1つがインストールされます。
  3. easy_installを使用して、jaraco.windowsパッケージとその依存関係をインストールします。コマンドプロンプトから:

バツ

\Python26\scripts\easy_install jaraco.windows

これらの手順を実行すると、\ python26 \ scripts \ find-symlinks.exeまたは\ python26 \ scripts \ find-symlinks-script.pyというスクリプトが作成され、オプションのパス名で実行してシンボリックリンクを検索できます。シンボリックリンクを検索し、結果を1行ずつ報告します。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

win7用のCygwin / bashスクリプト

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 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.