twitter ■お問い合わせ当サイトへのリンクサイト仕様

現在位置 > LostTechnology > Software > Eater

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
ちょいと開発してみた。