bat 一键清理系统垃圾文件.bat 误区
使用 “一键清理系统垃圾文件.bat” 这个文件清理系统垃圾文件是有bug的。
下面看代码:
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*.log
这是段代码的意思会找出文件名后缀是tmp和log的文件,但是在windows系统中后缀默认是3个字符,这段代码就会造成歧义。 用 dir 测试下
dir /s /a-d /b %systemdrive%\*.tmp
后缀为 tmpl 的文件也被列出来了,表面只要后缀中前3字符是tmp的文件都会被列出不管后面的字符。所以这样删除会使一些需要的文件也被删除了。下面是关于这段代码的修改:
for /r %systemdrive% %%i in (*.tmp) do if %%~xi==.tmp del /f /s /q "%%i"
使用 if 进行字符串判断