PowerShellを使っての、IEのお気に入りのリンク切れのチェックスクリプトを作ってみました。完全ではないので削除する前に確認してください。(意味ないか…)
インターネットショートカットのファイル(.URL拡張子)は、テキストファイルが実態なのですが、URLの項目がなかったりするとエラーになりますが、アクセスしてみると
きちんと表示されたりします。参考程度にしてください。
お気に入りは、Windows7だとユーザーのフォルダのお気に入り(Favorites)フォルダの中にあります。
CheckURL.ps1
#引数はインターネットショートカットを期待している(.URLの拡張子)
$a = type $args[0]
$a | foreach{
#アドレスはURL=で始まるのでそれでチェック
if($_.startswith("URL=")){
#URL=を削除する
$url = $_.replace("URL=","")
}
}
#サイトにアクセスするためのオブジェクトを初期化
$wc = new-object system.net.webclient
#戻り値を初期化する
#$h = $nul
#エラーを補足するl
trap
{
#エラーだったら表示する
"リンク切れです。:"
#エラーでも続けるように設定
continue
}$h = $wc.DownloadData($url)
if($h -eq $null)
{
#エラーならその名前を表示
$args[0]
$url
}
使用例
dir *\*.URL -Recurse | foreach{CheckURL.ps1 $_}
