Temporary Internet Filesをバックアップとりたいのですが、手動で
コピーしても「ディスクから読み取れません。」というエラーがでます。
XPです。
画像などはいらないのですが、*.htmのみ選択的にバックアップとりたい
のですが、
パス=GetFolderPath(CSIDL_INTERNET_CACHE)
としたあと
パス+\*.htmで検索かけて所得したファイル名を1個ずつコピーするやり方
でできるのでしょうか?手動でできないのに・・・。
なにか別の方法とかありませんか?
>Temporary Internet Filesをバックアップとりたいのですが、手動で
>コピーしても「ディスクから読み取れません。」というエラーがでます。
どのようにコピーしたのでしょう?「手動でコピー」出来ないのなら、
IEキャッシュファイルが無いということでは?
>パス=GetFolderPath(CSIDL_INTERNET_CACHE)
もしかして .NETプログラミングの質問?
IEキャッシュはたっぷりあるのです。
また、delphiの質問です。
niftyのdelphiページのsamplesの01398番に参考になるコードがあること
を、こちらに投稿後みつけたのですが、私の力ではハテナの嵐。
Ret :=GetFolderPath(CSIDL_INTERNET_CACHE); //temp
//Ret :=GetFolderPath(CSIDL_Cookies); //Cookies
if 0=FindFirst(Ret+'\*.*',faAnyfile, SearchRec) then try
repeat
if SearchRec.Attr and faDirectory <> 0 then begin
if (SearchRec.Name='.') and (SearchRec.Name='..') then
Continue;
end else begin
memo1.Lines.Add(SearchRec.Name);
end;
until 0<>FindNext(SearchRec);
finally
FindClose(SearchRec);
ListBox1.Items.Add(Ret);
end;
のようなコードを試したのですが、検索フォルダがクッキーとかなら
listbox1にファイルがでますし、*.xlsなどしたらxlsのみでます。
しかし、Temporary Internet Filesで試すと、desktop.iniのみでて
大量にあるキャッシュファイルがでてこないのです。
どなたか解決方法ご存知でないでしょうか?
検索場所とキャッシュファイルの取り扱いが特殊なのでしょうか?
Temporary Internet Filesにはファイルはdesktop.iniだけですよ。
フォルダがあり、その中にフォルダがあって、さらにその中です。
.NETですかと聞いた理由は、おそらく
GetFolderPath
というAPIがないからでしょう。
# 検索したところ、.NETではあるみたいですね
自前のコードを使うのであれば、どういう動作をするものか明記しないと、全ての人が知っているとは限りませんよ。
>私の力ではハテナの嵐。
そのサンプルを理解出来ないのなら、丸写しするかそれとも諦めるかでしょう^^;
列挙する際に拡張子のフィルタをかけるなら、lpszLocalFileNameメンバーに対して行うこと。
(lpszFileExtensionメンバーでフィルタをかけると、このサイトのHTMLも漏れてしまう^^;)
>しかし、Temporary Internet Filesで試すと、desktop.iniのみでて
Temporary Internet Filesフォルダの表示の仕組みを理解しないと何も出来ないということで…
そこに表示されるのは 「Index.datファイルに記録されたキャシュとURLの関連」で、実際にファイルが格納されているのはその下の Content.IE*フォルダ内にあるランダムな英数字名が付いたフォルダの中。
ただし、そこにはURLの情報は無く、大量のゴミファイルも含まれるので、目的のサイトのキャッシュをFindFirst、FindNextで検索しようとしても無理。
時間かけて、解読して行こうと思います。
いろいろ資料を集めてみます。
また、ヒントありがとうございます。^^
一旦閉めますが、またUpしたときはよろしくお願いします。
ツイート | ![]() |