web-dev-qa-db-ja.com

Windowsで再起動後に一時ファイルを削除する方法

Ubuntuは再起動後にデフォルトで一時ファイルを削除しますが、Windowsは削除しません。 Windowsに同じことをさせるにはどうすればいいですか?

39
mystdeim

これを手動で行うという問題(およびdanger)を経由する代わりに、自動化できる CCleaner のようなプログラムをお勧めしますこのプロセスにより、過去24時間以内に作成されたファイルがそのまま残ります。

これは非常に重要です。起動時にも実行される可能性がある一部のプログラムは、一時ファイルをすでに使用している可能性があるため、問題が発生する可能性があります。 Linuxでは、 /tmp directory は、再起動のたびにクリアされることがわかっているため、すべてのLinuxプログラムはその原則に従って設計されています。

CCleanerをWindowsで開始する方法は次のとおりです。 CCleaner options

only "Temporary Files"と起動時に本当に消去したいその他のことを確認してくださいがチェックされます: CCleaner selection

CCleanerはデフォルトで1日以上経過したファイルのみを削除しますが、この設定を確認しても問題はありません。 CCleaner advanced options

これがすべて完了すると、CCleanerは起動時に通知領域で静かに実行されます。クリーニングが完了するとアイコンが消えます。 CCleaner tray icon

46
oKtosiTe

そのためのオプションはないと思います。 .batファイルを作成して一時ファイルを削除し、起動時に実行することができます(Windowsの起動時)。以下はうまくいくはずです:

%temp%のすべてのファイルを削除しますが、フォルダーはそのままにします。

@echo off
del /s /f /q "%temp%/*.*"

%temp%のすべてを削除します。

@echo off
rmdir /s /q %temp%
md %temp%

すべての.tmpファイルを削除:

@echo off
del /s /f /q "%temp%/*.tmp"

一部のプログラムは%temp%のファイルを使用して実行するため、ご自身の責任で実行してください。

スタートアップ時に.batを実行するには、Microsoftまたは他の多くのオンラインの this チュートリアルに従ってください...

10
Alex

実際のところ、起動ごとにこのようなクリーンアップを実行するのは、プロセッサ時間の無駄です。

代わりに、次の内容を含む ccleaner の同じディレクトリにあるバッチを実行するために週に1回トリガーされるスケジュールされたタスクを追加します。

ccleaner /AUTO

これにより、ccleanerでチェックされているすべてのボックスにプロンプ​​トが表示されることなく、スキャンと自動クリーンアップが実行され、ユーザー指定のディレクトリが含まれます。 (レジストリの修正は行いません)

追加のヒント:バッチプロパティでは、最小化して実行するように選択することもできるため、起動時の煩わしさが軽減されます。スキャンはかなり速くなり、最小化されたウィンドウにも気付かないでしょう。

1日以上経過した一時ファイルを削除するためのバッチファイル

IF EXIST %TEMP% ( FORFILES /P %TEMP% /D -01 /C "cmd /c IF @isdir==TRUE (rd /s /q @path) else (del /q @path)" )
1

cleanmgr

組み込みのWindows関数を使用して、すべての一時ファイル(およびその他)をクリーンアップできます。

一度だけ実行します

CLEANMGR /sageset

次に、クリーンアップするものをすべて選択します。

今実行することによって

CLEANMGR /sagerun

選択したとおりにすべてのクリーンアップジョブを実行します。

詳細は Microsoft Knowledgebase を参照してください。

1
davidbaumann