Eater
履歴と一時ファイルを削除
コマンドラインのジャンクプログラムです。行なっている処理は以下のフォルダ内にあるファイルの削除となります。実行したことにより、インターネットの履歴などが消えるため、該当フォルダ内のファイルを消すとどういうことが起こるのかがわかっている人だけがお使い下さい。
- Windows XP
- C:¥Documents and Settings¥*user*¥Local Settings¥History
- C:¥Documents and Settings¥*user*¥Local Settings¥Temporary Internet Files
- C:¥Documents and Settings¥*user*¥Local Settings¥Temp
- C:¥Documents and Settings¥*user*¥Recent
- Windows Vista/7
- C:¥Users¥*user*¥AppData¥Local¥Microsoft¥Windows¥History
- C:¥Users¥*user*¥AppData¥Local¥Microsoft¥Windows¥Temporary Internet Files
- C:¥Users¥*user*¥AppData¥Local¥Temp
「Windows で Firefox 3.5の起動が遅くなる問題の回避策」「WindowsでFirefox3.5の起動をスピードアップする方法」で削除するとよいとされているHistory,Temporary Internet Files,Temp,最近使ったファイルのフォルダ内にあるファイルを削除しているわけです。全部実行するものと、特定のフォルダ内だけ消去するものを用意しました。いずれのプログラムもダブルクリックするだけで処理が行なわれます。
※Firefoxの起動が遅くなる問題を修正したFirefox 3.5.1が公開されました。このジャンクプログラムを使うより修正版Firefoxを使いましょう。
History | Temporary Internet Files | Temp | 最近使ったファイル | |
---|---|---|---|---|
Eater.exe | ○ | ○ | ○ | ○(2000/XPのみ) |
HistoryEater.exe | ○ | - | - | - |
TemporaryEater.exe | - | ○ | ○ | - |
RecentEater.exe | - | - | - | ○(2000/XPのみ) |
ソースコード
EaterはDelphi7で開発しました。たいしたことをしていませんが、参考にしたい方はご覧になってください。テストが不十分なので問題のある部分があるかも……?
program Eater; {$APPTYPE CONSOLE} {$DEFINE DEBUG} uses SysUtils, ShlObj, Windows, Classes; const cst = 'Eater.exe -- History and Temporary delete utility.' +chr($0D)+chr($0A)+'Copyright (C) S.Kawaida'; var StdOut : TextFile; udHistory : String; udTIF : String; udTemp : String; udRecent : String; FileList : TStringList; FileAttr : Integer; lp : Integer; function GetSpecialFolder(Folder :integer):String; var path : array[0..MAX_PATH] of Char; pidlist : PItemIDList; begin SHGetSpecialFolderLocation(0,Folder,pidlist); SHGetPathFromIDList(pidlist,path); Result:=path; end; function GetTempFolder:String; var path : array[0..MAX_PATH] of Char; begin GetTempPath(MAX_PATH,path); Result:=path; end; procedure ExtractWildCardPath(name:String; attr:Integer; subdir:Boolean; var _WildCardList: TStringList); var DirInfo,SearchInfo : TSearchRec; DOSError : integer; begin DOSError:=FindFirst(name,attr,SearchInfo); While (DOSError=0) do begin if (SearchInfo.name<>'.') and (SearchInfo.name<>'..') then begin _WildCardList.Add(ExtractFilePath(name)+SearchInfo.name); end; DOSError:=FindNext(SearchInfo); end; SysUtils.FindClose(SearchInfo); DOSError:=FindFirst(ExtractFilePath(name)+'*.*',faAnyFile,DirInfo); While (DOSError=0) and subdir do begin if (DirInfo.name<>'.') and (DirInfo.name<>'..') and ((DirInfo.Attr and faDirectory)=faDirectory) then begin ExtractWildCardPath(ExtractFilePath(name) +IncludeTrailingBackslash(DirInfo.name) +ExtractFileName(name),attr,subdir,_WildCardList); end; DOSError:=FindNext(DirInfo); end; SysUtils.FindClose(DirInfo); end; begin if (AnsiPos('?',ParamStr(1))<>0) then begin AssignFile(StdOut,''); Rewrite(StdOut); Writeln(StdOut,cst); Halt; end; FileList:=TStringList.Create; try udHistory:=IncludeTrailingBackslash(GetSpecialFolder(CSIDL_HISTORY)); udTIF:=IncludeTrailingBackslash(GetSpecialFolder(CSIDL_INTERNET_CACHE)); udTemp:=IncludeTrailingBackslash(GetTempFolder); udRecent:=IncludeTrailingBackslash(GetSpecialFolder(CSIDL_RECENT)); {$IFDEF DEBUG} AssignFile(StdOut,''); Rewrite(StdOut); Writeln(StdOut,udHistory); Writeln(StdOut,udTIF); Writeln(StdOut,udTemp); Writeln(StdOut,udRecent); Writeln(StdOut,IntToStr(Win32MajorVersion)); {$ENDIF} FileAttr:=faAnyFile-faDirectory; ExtractWildCardPath(udHistory+'*.*',FileAttr,True,FileList); ExtractWildCardPath(udTIF+'*.*',FileAttr,True,FileList); ExtractWildCardPath(udTemp+'*.*',FileAttr,True,FileList); if (Win32MajorVersion=5) then ExtractWildCardPath(udRecent+'*.*',FileAttr,True,FileList); for lp:=0 to FileList.Count-1 do begin {$IFDEF DEBUG} Writeln(StdOut,FileList[lp]); {$ENDIF} DeleteFile(PChar(FileList[lp])); end; finally FileList.Free; end; end.
動作環境・仕様とダウンロード
ソフトウェア仕様
対応OSWindows2000/XP/Vista
最終更新2009-7-14
Version1.0.0.0
DownloadDOWNLOAD (size:195KB)
種別Freesoftware
履歴
- 2009-7-14 version 1.0.0.0
- ちょいと開発してみた。