我以前的问题:- if not exist %SystemRoot%\Minidump\NUL del /f /q /s %SystemRoot%\Minidump\*.*>nul 2>nul
复制代码 这个中\nul的意思
==================
版主解答:
if not exist %SystemRoot%\Minidump\NUL 等效于if not exist %SystemRoot%\Minidump\,一般情况下也等效于if not exist %SystemRoot%\Minidump,但如果系统分区下有一个名为Minidump的文件,同样会返回为真。在后面加\或\nul就是为了避免这种情况。nul代表空设备,这个要好好体会了,可以建立一个文件(夹)命名为nul测试一下。
另外,你的语句的意思是“如果不存在%systemRoot%\Minidump文件夹,则删除里面的一切”??
==================
我的问题:首先,不管是建立文件或文件夹,都不可以取NUL这个名字
其次:我问题中的代码就是出自我从本论坛下的一个批处理工具中的,全部代码如下- @echo off
- color f0
- echo.
- echo 正在安全地自动清除垃圾文件……
- del /f /q %systemdrive%\*.tmp>nul 2>nul
- del /f /q %systemdrive%\*._mp>nul 2>nul
- del /f /q %systemdrive%\*.log>nul 2>nul
- del /f /q %systemdrive%\*.gid>nul 2>nul
- del /f /q %systemdrive%\*.chk>nul 2>nul
- del /f /q %systemdrive%\*.old>nul 2>nul
- del /f /q %windir%\*.bak>nul 2>nul
- del /f /q %windir%\*.tmp>nul 2>nul
- del /f /q %windir%\prefetch\*.*>nul 2>nul
- del /f /s /q %systemdrive%\recycled\*.*
- del /f /q "%ALLUSERSPROFILE%\Documents\DrWatson\*.*">nul 2>nul
- del /f /q "%USERPROFILE%\Cookies\*.txt">nul 2>nul
- del /f /q /s "%TEMP%\*.*">nul 2>nul
- del /f /q /s "%Systemroot%\Prefetch\*.*">nul 2>nul
- del /f /q "%USERPROFILE%\Recent\*.*">nul 2>nul
- del /f /q "%USERPROFILE%\Application Data\Microsoft\Office\Recent\*.lnk">nul 2>nul
- del /f /q /s "%USERPROFILE%\Local Settings\Temp\*.*">nul 2>nul
- rd /s /q %windir%\temp & md %windir%\temp>nul 2>nul
- if not exist %SystemRoot%\Minidump\NUL del /f /q /s %SystemRoot%\Minidump\*.*>nul 2>nul
- del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*">nul 2>nul
复制代码
问题代码就是其中倒数第贰行
谢谢 |