回答:
findstr /ism notepad.exe \*.lnk
findstr.exeは、XPよりも前のWindowsにバンドルされています。c:\ windows \ system32にあります。
notepad.exeはショートカットのターゲットであり、関心のある実際の実行可能ファイルに置き換えます。
\ *。lnkは暗黙的に2つの部分に分割されます。「\」は検索のルートを指定し、「*。lnk」は検索するファイルを指定します。
\*.lnk
する場合は引用符が必要です"c:\Program Files\*.lnk"
。スペースを含むパスが検索ルートの下にあるがコマンドラインの一部ではない場合、引用符は不要ですが、許可されています。
/C:
Egを付ける必要がありfindstr /ism /C:"note pad.exe" \*.lnk
ます。/C:
リテラル検索を有効にします。それ以外の場合、スペースはor演算子のように扱われます。
パスまたは実行可能ファイル名を含む* .lnkファイルを検索できます。
たとえば、notepad.exeを含むファイル* .lnkを探します。
Windows 7の検索を使用してみましたがnotepad.exe kind:*.lnk
、常に機能するようになりませんでした。インデックスが作成されていないディレクトリに問題があると思います。いくつかの設定変更を試みましたが、近くにあれば動作するようになりましたが、ドライブのルートに行っても動作しませんでした。
私はUltraEditを使用して運が良かったのですが、ディレクトリ/サブディレクトリを検索する他の(無料の)テキストエディタがあると確信しています。
もちろん、検索の一意性とプログラム/フォルダ名に応じて、誤検知が発生する可能性があります。しかし、これにより、探しているターゲットへのすべてのショートカットが表示され、表示および読み取りの許可が与えられます。(つまり、ユーザーは自分のデスクトップに1つを持っている可能性があり、そのユーザーのデスクトップを表示する権限がありません。)
お役に立てれば。
編集:TextCrawlerを 見つけたばかりで、試していませんでしたが、説明した検索を実行できる可能性があります。
申し訳ありませんが、どのようなプログラミング環境をお尋ねすることはできません。あなたが使用しています。ただし、このWindows Script Host COMリファレンスについては知っています。
http://msdn.microsoft.com/en-us/library/xk6kst2k(VS.85).aspx
さらに、ドキュメントで言及されているとは思いませんが、ショートカットを「読み取る」場合は、同じWshShell.CreateShortcutコマンドを使用してショートカットファイルを「開き」、変数を呼び出すだけです。値を取得します。
PowerShellでこれを行う方法に関する参考文献もいくつか見ましたが、これらの例よりもさらに複雑に見えました。
Microsoftプログラムのキーボードショートカット:http : //www.microsoft.com/enable/products/keyboard.aspx
このURLの対象:
また、特定のプログラムでそれらを見つけたい場合は、リリース番号とキーボードショートカットと共にプログラムの名前をgoogleするだけです。
例えば: Mozilla Firefox 3.6 keyboard shortcuts
スタートメニュー/ボタンを開き、type: *.lnk
下部の検索/実行フィールドに次を入力します。すぐ上にある青色の[もっと結果を見る]をクリックします。
新しいエクスプローラーウィンドウが開きます。ファイルビューを「詳細」に変更します。
各カテゴリの「タイトル」バーを右クリックし、Link target
表示されたフィールドに「」を追加します(「詳細」をクリックしてアルファベット順のリストで見つける必要があります)
Link target
「タイトル」バーをクリックして、リンクターゲットでソートし、ターゲットファイルを指すすべてのwindowsショートカットファイルを見つけます。
ターゲットパスでアルファベット順にソートしているため、コマンドラインフラグのすべてのバリエーションが表示されます。