Tempインターネットファイル内のファイルのリストを取得し、各ファイルの名前をテキストファイルに追加しようとしています。このコードが実行されると、Temporary internet filesフォルダにはいくつかのファイルがあるにもかかわらず、ログに追加されるのはdesktop.iniだけです。ファイルにテキストを追加する(ディレクトリリストから取得)
public static void ClearTemp(MainForm f)
{
if (UserVars.OS.Equals("WIN7"))
{
DirectoryInfo dir = new DirectoryInfo(UserVars.LOCALAPPDATA + @"\Microsoft\Windows\Temporary Internet Files");
DirectoryInfo content = new DirectoryInfo(UserVars.LOCALAPPDATA + @"\Microsoft\Windows\Temporary Internet Files\Content.IE5");
string path = AMSTK.AMSTKPATH + @"\log.txt";
foreach (FileInfo fi in dir.GetFiles()) //get list of temp files and append to log
{
using (System.IO.StreamWriter file = File.AppendText(path))
{
file.WriteLine("File: " + fi.Name);
}
}
}
これが起こっている。その可能インターネット一時ファイルは、「特別な」ディレクトリですので、あなたはそれのすべてを削除した場合、それはその後3で追加されたフォルダ、content.ie5、仮想化、および低を持っていますが、彼らベースのインターネットファイルディレクトリが見つからない限り表示されません。
全体的にこれは最終的にすべてのファイルを削除することになります(このコードはすべてのファイルIOコードを単純なfi.Delete()に置き換えるとすべてのファイルが削除されるため、私はここで間違っているつもりです。
[C# - 一時的なインターネットファイルを削除する方法]の複製が可能です。(http://stackoverflow.com/questions/6521148/c-sharp-how-to-delete-temporary-internet-files) –
すでに投稿されています - パスを取得したり、ファイルを削除したりすることは問題ではありません。しかし、実際には何のファイルが追加されています。その投稿は私に、私がすでにやり方を知っていることすべてを伝えています。 – Windex
foreachの外でlog.txtファイルを開くと(foreachブロックの周りにusingブロックを置く)、違いはありますか? – Polyfun