- ベストアンサー
ショートカットのURLをファイルに出力したい。
C:\WINDOWS\Favoritesには、お気に入りに登録してたもののショートカットがあります。 各ショートカットのURLをファイルに出力する事は出来るでしょうか? opendir(DIR, "C:/WINDOWS/Favorites/"); @dir_value = readdir(DIR); closedir(DIR); @file = grep(-f,@dir_value); ダメ元でやってみたのですが、ショートカットはファイルではない?のでファイル名の取得も出来ませんした。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
サンプルを作ってみました。 適当に変更してみて下さい ショートカットのうち 拡張子がlnkはリンクで urlがURLのリンクです。 ファイルの中に、 URL=アドレス の行があるので、それを見つけたら、 ファイル名と一緒に表示するというようにしてます。 -------------------------------- @files=glob("*.url"); for $file (@files){ open(FH, $file); while(<FH>){ if(/^URL=.*$/){ print $file . ":"; print ; last; } } close(FH); }
その他の回答 (2)
- taseki
- ベストアンサー率66% (155/233)
> C:/WINDOWS/Favorites/で旨くいけば、履歴のC:/WINDOWS/Historyでも行けるとふんでいました。。。 > 履歴の中の例えば「今日」の内容について同じ様なことは出来るでしょうか? このフォルダはFavoritesと違って仮想フォルダです。ためしにエクスプローラー以外でHistoryフォルダを調べてみてください。おそらくindex.datとかの名前のファイルが1個あるだけで、その実体はDBになっています。 なので、一番手っ取り早いプログラムからのアクセスは、IEコンポーネントとか、IUrlHistoryStgあたり使ってアクセスできます。
お礼
有り難うございました。 >なので、一番手っ取り早いプログラムからのアクセスは、IEコンポーネントとか、>IUrlHistoryStgあたり使ってアクセスできます。 それらを使うのは難しそうですのですので、研究が必要の様です。(^_^;
- taseki
- ベストアンサー率66% (155/233)
URLショートカットは、ただのテキストファイルです。 テキストファイルとして開き、 URL=http://~ という行があります。 どこかに仕様が載っていたのですが、失念しました…。 ファイル名の取得が出来なかった理由は、また別にあるような気がします。
お礼
@files = grep(/url/,@dir_value); で取得できました。有り難うございました。-f で取得できませんでしたのでパニクッてしまいました。(^_^;
お礼
@files=glob("*.url");を@files = grep(/url/,@dir_value); で旨くいきました。表示のさせ方は私が用意して置いた力技よりスマートですね。
補足
C:/WINDOWS/Favorites/で旨くいけば、履歴のC:/WINDOWS/Historyでも行けるとふんでいました。。。 履歴の中の例えば「今日」の内容について同じ様なことは出来るでしょうか? 心当たりが御座いましたら宜しくお願いします。