基本上,我们有许多客户运行 XP 和 7,另外还有几台 Vista 机器。
我发现这个批处理脚本,但它仅限于当前用户(使用 %userprofile% 环境变量)。我正在寻找类似的东西,但它会运行所有用户帐户在计算机上。该脚本将以管理员身份运行。
对于 XP,它将删除以下内容:
Local Settings\Temp
Local Settings\Temporary Internet Files
对于 Vista/7,它将删除以下内容:
AppData\Local\Temp
AppData\Local\Microsoft\Windows\Temporary Internet Files
我对脚本编写相对缺乏经验,我不确定批处理文件是否可以做到这一点。有没有人尝试过这种方法并找到了解决方案?
答案1
我用这个取得了一些成功。您可能需要根据您的环境对其进行编辑,但对我来说,它适用于 XP Vista 和 7。有几件事,确保它在影响最小的时候运行,并了解它对您来说具有最大的侵入性,因为它会删除文件夹并重新创建它们。如果您不想删除文件夹而只是删除内容,您可以将更rmdir
改为并在文件路径末尾del /f
添加,然后删除该行。\
mkdir
这会删除大量内容,请您自行承担风险。
@echo off
IF EXIST c:\windows\temp\ del /f /s /q c:\windows\temp\
DEL /f /s /q %temp%\
IF EXIST "C:\Documents and Settings\" (
for /D %%x in ("C:\Documents and Settings\*") do (
rmdir /s /q "%%x\Local Settings\Temporary Internet Files"
mkdir "%%x\Local Settings\Temporary Internet Files"
)
)
IF EXIST "C:\Documents and Settings\" (
for /D %%x in ("C:\Documents and Settings\*") do (
rmdir /s /q "%%x\Local Settings\Temp"
mkdir "%%x\Local Settings\Temp"
)
)
IF EXIST "C:\Users\" (
for /D %%x in ("C:\Users\*") do (
rmdir /s /q "%%x\AppData\Local\Temp"
mkdir "%%x\AppData\Local\Temp"
)
)
IF EXIST "C:\Users\" (
for /D %%x in ("C:\Users\*") do (
rmdir /s /q "%%x\AppData\Local\Microsoft\Windows\Temporary Internet Files"
mkdir "%%x\AppData\Local\Microsoft\Windows\Temporary Internet Files"
)
)
请注意,这将不同的文件夹分开,主要是为了清晰起见,但如果您想要压缩它,您可以将其压缩为仅 2 个循环。一个例子是:
IF EXIST "C:\Users\" (
for /D %%x in ("C:\Users\*") do (
rmdir /s /q "%%x\AppData\Local\Temp"
mkdir "%%x\AppData\Local\Temp"
rmdir /s /q "%%x\AppData\Local\Microsoft\Windows\Temporary Internet Files"
mkdir "%%x\AppData\Local\Microsoft\Windows\Temporary Internet Files"
)
)
根据请求,压缩并使用删除命令。
@echo off
IF EXIST c:\windows\temp\ del /f /s /q c:\windows\temp\
DEL /f /s /q %temp%\
IF EXIST "C:\Users\" (
for /D %%x in ("C:\Users\*") do (
del /f /s /q "%%x\AppData\Local\Temp\"
del /f /s /q "%%x\AppData\Local\Microsoft\Windows\Temporary Internet Files\"
)
)
IF EXIST "C:\Documents and Settings\" (
for /D %%x in ("C:\Documents and Settings\*") do (
del /f /s /q "%%x\Local Settings\Temp\"
del /f /s /q "%%x\Local Settings\Temporary Internet Files\"
)
)
答案2
cd C:\Users\%用户名%\AppData\Local rmdir /S /Q Temp
删除 C:\Windows\Prefetch*.* /Q
删除 C:\Windows\Temp*.* /Q
del C:\Users\%用户名%\AppData\Roaming\Microsoft\Windows\Recent Items*.* /Q 暂停
答案3
对我来说这个命令很好用,试试这个,它会删除所有临时文件
cd \
Del *.tmp /s