2016-09-25 32 views
2

バッチファイルを実行してすべての一時ファイルを削除しようとしています。残念ながら、私は「アクセスが拒否されました。」と受け取っています。エラー。私は根本的な原因やこれを最小限に抑える方法についてはわかりません。"アクセスが拒否されました。"バッチファイルを使用してTEMPファイルを削除しようとしたときにエラーが発生しました

@echo off 
cd %temp% 
for /d %%D in (*) do rd /s /q "%%D" 
del /f /q * 

また、すべてのインターネットの一時ファイル(IE)を削除する方法を提案します。

+2

FORコマンドは隠しディレクトリは表示されません)特別dirコマンドで隠しのdirsをリストする必要があります。最善のことは、それらをスキップし、他のすべてを削除することです。 IEはそれ自身の一時ファイルを削除する機能を内蔵しています。 FirefoxやChromeのようなより安全で実用的なブラウザを使用することを強くお勧めします。 – jpmc26

+0

@ jpmc26:これらのファイルを手動で削除することはできますが、バッチファイルを実行すると「アクセスが拒否されました」と表示されます。だから、私はこれらのファイルは、実行中のプロセスに従事しているとは思わない。 –

答えて

3

あなたがそれをやっている方法は本当に危険です:

cd/Dのないディレクトリではなくドライブを変更します。したがって、ドライブD:からこのスクリプトを実行すると、ドライブCの現在のディレクトリが変更され、D:ドライブ内のすべてのファイルが削除されます。

あなたが運が良ければ、他のドライブにはアクセス権がありません。あなたがしていない場合は、すべてのファイルを失う。あなたはそれを安全にするためにcd /D %TEMP%を必要としているだろうが、それは、現在のディレクトリを変更するには避けるようにしても良いでしょう

:もちろん

@echo off 

for /d %%D in (%TEMP%\*) do rd /s /q "%%D" 
del /f /q %TEMP%\* 

いくつかのファイルは、プログラムを実行して、使用中であるため、一時クリーンアップが失敗する可能性があります。その場合は、再起動してスクリプトをもう一度実行してください。一時的なIEファイルを削除するには(古いファイルの多くは、前にあった)

私はこのスクリプトを実行し、今3つのdirsと10個のファイルは私の一時ディレクトリにありますディレクトリがそのように隠されているように、それは少し違います我々はいくつかの一時ファイルは、現在実行中のプロセスによってロックされることが一般的です

@echo off 

set IETEMP=%LOCALAPPDATA%\Microsoft\Windows\INetCache 
for /F %%D in ('dir /AHD /B %IETEMP%') do rd /s /q "%IETEMP%\%%D" 
del /f /q %IETEMP%\* 
+0

C:¥Users¥¥AppData¥Local¥Temp¥hsperfdata_Appy¥3832 - アクセスが拒否されました。 C:\ Users \ \ AppData \ Local \ Temp \ FXSAPIDebugLogFile.txt プロセスが別のプロセスで使用されているため、ファイルにアクセスできません。 –

+0

もちろん、実行中のプログラムによって一部のファイルが使用されているため、一時的なクリーンアップが失敗することがあります。その場合は、再起動してスクリプトをもう一度実行してください。 –

関連する問題