我试图通过运行以下批处理文件来删除所有临时文件。但不幸的是,我收到“访问被拒绝”。错误。我不确定根本原因或如何最大限度地减少这种情况。
@echo off
cd %temp%
for /d %%D in (*) do rd /s /q "%%D"
del /f /q *
还建议删除所有互联网临时文件(IE)的方法。
答案 0 :(得分: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%\*
当然,临时清理可能会失败,因为某些文件正在运行程序中使用。在这种情况下,只需重新启动并再次运行脚本。
我刚刚运行了这个脚本,现在我的临时目录中有3个目录和10个文件(之前有很多旧文件)
要删除临时IE文件,它会略有不同,因为目录是隐藏的,所以我们必须列出隐藏的目录,并使用特殊的dir
命令(FOR
命令看不到隐藏的目录)
@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%\*