HTMLファイルや画像ファイルが入っているフォルダのなかで、どこからもリンクがはられていないファイルを一括して削除する方法はありますか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2009/05/13 08:34:37
  • 終了:2009/05/20 08:35:04

回答(4件)

id:takano32 No.1

takano32回答回数58ベストアンサー獲得回数52009/05/13 11:56:58

ポイント23pt

サイトの規模が小さいなら、一度

wget -r http://example.com/

のように再帰的にダウンロードしてしまい、元ディレクトリとダウンロードしたディレクトリを差し替えるという方法はどうでしょうか。

id:oz8

回答ありがとうございます。

エックスサーバーというレンタルサーバーを使っていまして

あれってシェルが使えなったと思います。

再帰的にダウンロード~

の部分がよくわかりません。

よろしくおねがいします。

2009/05/13 12:03:01
id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332009/05/13 15:54:25

ポイント23pt

「どこからもリンクがはられていないファイル」というのは、他サイトからハイパーリンクが張られていないファイルという意味ですか?


当該ファイルにハイパーリンクが張られているかどうかを直接判断する手立てはありません。

代替策として、Webサーバのログを解析し、当該ファイルにアクセスしてきた Referer があれば、それはハイパーリンクされているという仮説を立てます。

たとえば Apache であれば、Refererログを解析することになります。

id:oz8

もっとシステマティックで簡単な方法ないでしょうか。

2万ファイルなので、とてもそんな時間はないです。

2009/05/14 08:26:20
id:tomopo No.3

matsuoki回答回数15ベストアンサー獲得回数32009/05/14 20:09:03

ポイント22pt

ID:takano32 さんとおなじ方法ですが、手元にあるPCに wget -r http://example.com/ のように再帰的にダウンロードした時に、ダウンロードされなかったファイルが独立ファイルです。

wgetが使えなくても、いわゆるirvineやiriaのようなダウンローダーで再帰的にダウンロードすれば良いです。

再帰的にダウンロード、というのは、あるファイルからリンクしているファイルをダウンロードし、そのファイルからさらにリンクしているファイルをダウンロードし・・・というのを際限なく繰り返すことです。

なので、

  1. wget -r http://example.com/ でコンテンツを再帰的にダウンロードする
  2. 元々あったコンテンツを削除またはリネームする
  3. wgetでダウンロードしたコンテンツをアップロードする

で、単独ファイルを排除出来ます。



注意点

  • phpやCGIの利用等でパーミッションを変更しているなら、アップロード後にパーミッションの変更等が必要です。あんまり詳しく無い人には上記の方法はお勧め出来ません。
  • wgetがcssを解釈出来るのか知らないので、cssから画像を利用している場合はそこら辺の確認をして下さい。
  • 作業前にバックアップは必ず取って下さい。
  • 私は結果に対して責任は持てません。

ちなみにAdobeのDreamweaverというウェブ開発ツールでは、「単独ファイルの検出」と言う機能があり、他のファイルからリンクされていないファイルを検出出来ます。

id:oz8

「Dreamweaverというウェブ開発ツールでは、「単独ファイルの検出」と言う機能があり、他のファイルからリンクされていないファイルを検出出来ます。」

おー、これこれ。これです。知りたかったのは。やってみます。

2009/05/14 20:26:39
id:ardarim No.4

ardarim回答回数892ベストアンサー獲得回数1422009/05/15 23:27:43

ポイント22pt

ちょっと古いソフトですが、こんなのがあるようです。

窓の杜 - 【杜の道具箱 ~こんなとき、このソフト~】第130回:トップページから未参照のファイルを探すときの道具「孤島発見器」

「孤島発見器」は、HDDなどローカルドライブに保存してあるWebページをチェックし、リンクが張られていない画像やHTMLファイルを発見できるソフト。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません