指定ファイルへのショートカットを検索したい
◇-指定ファイルへのショートカットを検索したい-たかし(2/17-08:32)No.1313 ┣Re:指定ファイルへのショートカットを検索したい-沙門(2/17-09:54)No.1316 ┃┣追記-沙門(2/17-10:01)No.1317 ┃┃┗Re:追記に追記-o2ka(2/17-14:53)No.1330 ┃┗Re:指定ファイルへのショートカットを検索したい-Cher(2/17-11:57)No.1320 ┃ ┗Re:指定ファイルへのショートカットを検索したい-たかし(2/18-09:03)No.1413 ┃ ┗Re:指定ファイルへのショートカットを検索したい(100行級長文。注意)-Cher(2/18-15:58)No.1428 ┃ ┗ありがとうございました-たかし(2/18-20:19)No.1439 ┗Re:指定ファイルへのショートカットを検索したい-kei100@パソ断ちしないと(ぉ(2/17-13:27)No.1323 ┗Re:指定ファイルへのショートカットを検索したい-kei100@パソ断ちしないと(ぉ(2/17-21:44)No.1374 ┣Re:指定ファイルへのショートカットを検索したい-Ai-net(2/17-22:05)No.1375 ┃┗Re:指定ファイルへのショートカットを検索したい-Ai-net(2/17-22:07)No.1376 ┗Re:指定ファイルへのショートカットを検索したい-o2ka(2/17-22:09)No.1378
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
1313 | 指定ファイルへのショートカットを検索したい | たかし | 2/17-08:32 |
メーカー名:関連性なし OS名:Windows98 パソコン名:不明 ソフト名: -- 特定のリンク先を持つショートカットを探し出すことは出来ないでしょうか。 (できれば、DOSレベルでの機能で) |
▲このページのトップに戻る
1316 | Re:指定ファイルへのショートカットを検索したい | 沙門 | 2/17-09:54 |
記事番号1313へのコメント たかしさんは No.1313「指定ファイルへのショートカットを検索したい」で書き ました。 >OS名:Windows98 >パソコン名: >ソフト名: >特定のリンク先を持つショートカットを探し出すことは出来ないでしょうか。 >(できれば、DOSレベルでの機能で) > ん? DOSコマンドで特定のショートカットを検索したいって事ですか? もし、そうなら可能です。 ショートカットはエクスプローラ等では見えませんが「lnk」と言う拡張子が 付いていますので、例えば「TEST」と言うショートカットを検索したければ、 実際には「TEST.lnk」を検索すれば良い訳です。 DOSコマンドで検索をする場合は以下のようにすると良いかと思います。 dir /a /s /b TEST.lnk 細かく説明します。「/a」オプションを単独で付けると、不可視やシステム 属性等、全ての属性のファイルが対象に成ります。 「/s」を付けると、深いディレクトリも再起的に検索してくれます。 「/b」は、単に見栄えを良くします。フルパス表示してくれます。 ちなみに、上の方法ではカレントフォルダ以下の検索ですが、特定のドライブ や、フォルダ以下を再起的に検索する場合は、探したいファイルの前に繋げて 書く事で可能です。 dir /a /s /b c:TEST.lnk ps. Windowsの検索を使ってショートカットを探す場合も拡張子「lnk」をつければ 可能です。 念のため。 |
▲このページのトップに戻る
1317 | 追記 | 沙門 | 2/17-10:01 |
記事番号1316へのコメント 普通ショートカットの拡張子は「lnk」ですが、DOSのバッチファイルのショート カットの拡張子は「pif」です。(これもエクスプローラからは見えません) 念のため。 |
▲このページのトップに戻る
1330 | Re:追記に追記 | o2ka | 2/17-14:53 |
記事番号1317へのコメント > 普通ショートカットの拡張子は「lnk」ですが、DOSのバッチファイルのショート >カットの拡張子は「pif」です。(これもエクスプローラからは見えません) ホームページへのショートカットは「url」です。 本文検索も、Windows標準の検索なら可能なんですけどね・・・。 例: ファイルまたはフォルダの名前:*.url 含まれる文字列:ann.co.jp ファイルまたはフォルダの名前:*.lnk 含まれる文字列:notepad |
▲このページのトップに戻る
1320 | Re:指定ファイルへのショートカットを検索したい | Cher | 2/17-11:57 |
記事番号1316へのコメント >>特定のリンク先を持つショートカットを探し出すことは出来ないでしょうか。 >>(できれば、DOSレベルでの機能で) > DOSコマンドで特定のショートカットを検索したいって事ですか? ひょっとすると、 "notepad.exeへのショートカット"である"test.lnk"があるときに "notepad.exe"をキーとした検索で"test.lnk"をヒットさせたい。 ということかも。 一応この場合も検索は可能です。 が、以下の制限がつきます。 ・ピュアDOS(Command prompt onlyで立ち上げたとき)では検索できない。 windowsのDOSプロンプトから実行するのは可能。 ・私が作った簡易スクリプトになる(検索で見つからなかった)。 よって無保証、低速、要Windows Scripting Host。 それでもよければ書きましょう。 でもこれを使えばいいんじゃないかな? DOSコマンドは無理だろうけど。 http://www.vector.co.jp/soft/win95/util/se115418.html |
▲このページのトップに戻る
1413 | Re:指定ファイルへのショートカットを検索したい | たかし | 2/18-09:03 |
記事番号1320へのコメント >ひょっとすると、 > >"notepad.exeへのショートカット"である"test.lnk"があるときに >"notepad.exe"をキーとした検索で"test.lnk"をヒットさせたい。 > >ということかも。 その通りです。日本語が下手なものですみません。 そこまで読み取ってくださってありがとうございます。 >一応この場合も検索は可能です。 >が、以下の制限がつきます。 >・ピュアDOS(Command prompt onlyで立ち上げたとき)では検索できない。 > windowsのDOSプロンプトから実行するのは可能。 >・私が作った簡易スクリプトになる(検索で見つからなかった)。 > よって無保証、低速、要Windows Scripting Host。 > >それでもよければ書きましょう。 お願いします。 ちょっと訳あって、windowsでの対話式ではなく、自動で検索、削除したいので。 |
▲このページのトップに戻る
1428 | Re:指定ファイルへのショートカットを検索したい(100行級長文。注意) | Cher | 2/18-15:58 |
記事番号1413へのコメント >ちょっと訳あって、windowsでの対話式ではなく、自動で検索、削除したいので。 つくりました。 コピーして拡張子vbsで保存してください。 たぶんhtmlではインデントが消えてるので、ソースを表示してからコピーするのが吉。 test.vbsで保存したとして、コマンドラインから以下のように実行すればOKです。 cscript test.vbs [/r] TARGET [PATH] 各パラメータの意味や検索したものを削除する場合については プログラムのUsageとSearchDir_Callbackをよんでください。 ちなみに、/rオプションをつけたときにPATHを指定しない場合、 ハードディスク内の全ショートカットを検索対象にしてしまいます。 これで削除する場合はバッチファイルを作ることを*強く*勧めます。 実行にはWindows Scripting HostとIE4以上が必要です。 Windows Scripting Hostはここで手に入ります。 http://www.microsoft.com/downloads/release.asp?ReleaseID=33248 # どーでもいいけどVBSの文法はよくわからん……。 # なんでProc(x)は通るのにProc(x, y)はダメですか? ----------------------------------------- set FS = WSH.CreateObject("Scripting.FileSystemObject") set TARGET = New RegExp TARGET.IgnoreCase = True sub SearchDir_Callback(file) if file.IsLink then if TARGET.Test(file.GetLink.Path) then 'ここでショートカットが取れるので適当に処理。 WSH.Echo file.Path, "->", file.GetLink.Path 'ファイルを消したいときは FS.DeleteFile(file.Path) end if end if end sub sub Usage WSH.Echo "usage:" WSH.Echo WSH.FullName, WSH.ScriptName, "[/r] TARGET [PATH]" WSH.Echo "ショートカットファイルとそのリンク先を表示する" WSH.Echo "パラメータ:" WSH.Echo " /r(オプション):ディレクトリを再帰的に探索する。デフォルトは オフ" WSH.Echo " TARGET(必須):正規表現。リンク先がこれとマッチするものだけを 表示する" WSH.Echo " PATH(オプション):検索するディレクトリ。デフォルトはデスクト ップ" end sub SEARCH_PATH = 0 SEARCH_SUBDIR = False call GetParams set shell = WSH.CreateObject("Shell.Application") set root = shell.NameSpace(SEARCH_PATH) call SearchDir(root, SEARCH_SUBDIR) sub SearchDir(dir, recursive) for each item in dir.Items SearchDir_Callback(item) if recursive and item.IsFolder then call SearchDir(item.GetFolder, recursive) end if next end sub function ParamExist(index, isoptional) ParamExist = True if WSH.Arguments.Count <= index then ParamExist = False if not isoptional then call Usage call Err.Raise(-1, WSH.ScriptFullName, "必須パラメータが 足りません") end if end if end function sub GetParams set args = WSH.Arguments index = 0 if ParamExist(index, True) then if InStr(LCase(args(index)), "/r") = 1 then SEARCH_SUBDIR = True index = index + 1 end if end if if ParamExist(index, False) then TARGET.Pattern = args(index) index = index + 1 end if if ParamExist(index, True) then SEARCH_PATH = args(index) index = index + 1 end if end sub |
▲このページのトップに戻る
1439 | ありがとうございました | たかし | 2/18-20:19 |
記事番号1428へのコメント vbs使ったことありませんので中身を理解するのはこれからですが、 これで勉強させていただきます。 ありがとうございました。 |
▲このページのトップに戻る
1323 | Re:指定ファイルへのショートカットを検索したい | kei100@パソ断ちしないと(ぉ URL | 2/17-13:27 |
記事番号1313へのコメント たかしさんは No.1313「指定ファイルへのショートカットを検索したい」で書きまし た。 >OS名:Windows98 >特定のリンク先を持つショートカットを探し出すことは出来ないでしょうか。 >(できれば、DOSレベルでの機能で) 残念ながら、存じません。 探し出すとしたら、以下のような処理をするプログラムになるでしょう。 lnkファイルをすべて検索。 lnkファイルを一つづつ開いて、パスがあるか検索 当てはまるものがあれば、そのlnkファイルのパスを表示 となりそうです。 あるコマンドの出力をコマンドラインオプションに出来るなら find /I "リンク先パス" `dir *.lnk /a-d /b /s` ってやれば・・・って、ゴミが出るから駄目か・・・ # findは見つからなくても "-------- パス" というものを出力する やっぱり自分でプログラムを組むしかないですね・・・ それとも、Vector辺りに転がってるのだろうか? いずれにしろ、がんばってください(無責任モード では。 |
▲このページのトップに戻る
1374 | Re:指定ファイルへのショートカットを検索したい | kei100@パソ断ちしないと(ぉ URL | 2/17-21:44 |
記事番号1323へのコメント とりあえず、DOSモードでも動作するであろう BATファイルを5分ほどで作ってしまいました・・・ 即席なので、バグだらけです(ぉぃ # というか、受験勉強しろよ・・・来週試験だろ>自分 ファイルは2つになります・・・ # つーか、MS-DOSでforが複数行実行出来れば話は簡単だったし # 1つのファイルにまとめられたのになぁ・・・ 〜〜任意の名前.bat〜〜 @echo off rem Usage: 任意の名前 "String" [PATH] if "%2"=="" for %%F in (*.lnk) do CALL find2.BAT "%1" "%%F" if NOT "%2"=="" for %%F in (%2\*.lnk) do CALL find2.BAT "%1" "%%F" 〜〜find2.bat〜〜 find /I %1 %2 >NUL IF %ERRORLEVEL%==0 echo %2 以上・・・ 処理内容は、目で追えばわかるかと(ぉぃ 現在判明している欠点&問題点: サブディレクトリまで再帰的に検索不能。 IF ERRORLEVEL 0 では、きちんと動作せず・・・ # > NULの影響っぽい 検索する文字列に、カンマやスペースがあると誤作動する(爆死) しかし、MS-DOSって標準入力をコマンドのパラメーターに渡せないのかなぁ それとも出来るのでしょうか? ご存知の方御教授ください・・・ では。 |
▲このページのトップに戻る
1375 | Re:指定ファイルへのショートカットを検索したい | Ai-net | 2/17-22:05 |
記事番号1374へのコメント kei100@パソ断ちしないと(ぉさんは No.1374「Re:指定ファイルへのショートカットを検索したい」で書きました。 ># というか、受験勉強しろよ・・・来週試験だろ>自分 > >ファイルは2つになります・・・ ># つーか、MS-DOSでforが複数行実行出来れば話は簡単だったし ># 1つのファイルにまとめられたのになぁ・・・ > >〜〜任意の名前.bat〜〜 … ど初心者には、まったく分からないでしょう。 そんなことより、いまの自分のことをやりましょう。 (今にか機会がないんだよ) |
▲このページのトップに戻る
1376 | Re:指定ファイルへのショートカットを検索したい | Ai-net | 2/17-22:07 |
記事番号1375へのコメント (今しか機会がないんだよ) って、まちがえたけど。。。 |
▲このページのトップに戻る
1378 | Re:指定ファイルへのショートカットを検索したい | o2ka | 2/17-22:09 |
記事番号1374へのコメント >〜〜任意の名前.bat〜〜 >@echo off >rem Usage: 任意の名前 "String" [PATH] >if "%2"=="" for %%F in (*.lnk) do CALL find2.BAT "%1" "%%F" >if NOT "%2"=="" for %%F in (%2\*.lnk) do CALL find2.BAT "%1" "%%F" > >〜〜find2.bat〜〜 >find /I %1 %2 >NUL >IF %ERRORLEVEL%==0 echo %2 > >以上・・・ %1, %2については、解説無しですかい? ってか、「find /?」でオプションを確認すればわかるけど・・・。 ↑FIND [/V] [/C] [/N] [/I] "文字列" [[ドライブ:][パス]ファイル名[...]] %1が「文字列」の引数で、%2が「ファイル名」の引数ですね。 >現在判明している欠点&問題点: >サブディレクトリまで再帰的に検索不能。 >IF ERRORLEVEL 0 では、きちんと動作せず・・・ ># > NULの影響っぽい >検索する文字列に、カンマやスペースがあると誤作動する(爆死) この辺は、フリーのCコンパイラをダウンロードして Cでツールを作成してもらうしかないのかな(って、それなら もっと色々できるじゃん)。 http://www.borland.co.jp/cppbuilder/freecompiler/ |
何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり
参考 | 回数 | 投稿日時 | 何か一言 |
---|