2013-10-25 6 views
5

Temperary Internet Filesのすべてのイメージを別のディレクトリにコピーする必要があります。私は以下のコードを使用しようとしましたプログラムで「Temporary Internet Files」から他のディレクトリにファイルをコピーする

string[] IeImageFiles = Directory.GetFiles(
    Environment.GetFolderPath(Environment.SpecialFolder.InternetCache).ToString()); 

問題は、GetFilesメソッドがほんの少数のファイルを返すということです。インターネットエクスプローラの 'View Files'(IEオプション - >一般タブ - >設定 - >一時インターネットファイル)をブラウズすると、同じフォルダ内に多数のファイルが表示されます。

ディレクトリをクエリしてファイルを取得するためには、物理​​パスを知る必要があります。それを達成する方法。どんな助けでも大歓迎です。

答えて

6

「ファイルを見る」(IEオプション>一般タブ>設定>一時インターネットファイル)のときに表示されるファイルは、実際にはTemporary Internet Filesフォルダに直接ディスク上にあるファイルではありません。

その場所にはContent.IE5という名前の隠しフォルダがあり、実際に一時的なインターネットファイルを含むランダムな名前のフォルダがいくつか含まれています。あなたがこれを行うことができ、それらのリストを取得するには

:詳細については

var path = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.InternetCache), 
    "Content.IE5"); 
string[] files = Directory.GetFiles(path, "*", SearchOption.AllDirectories); 

はエリック法によりA Primer on Temporary Internet Filesをチェックしてください。

+0

「アクセスが拒否されました」というエラーが表示されます。エラー:「C:\\ Users \\ [ユーザー名] \ AppData \\ Local \\ Microsoft \\ Windows \\ INetCache \\ Content.IE5」パスへのアクセスが拒否されました。 – Leo