上一节:cleanmgr-磁盘清理程序2-在XP中自动化磁盘清理工具
上一节,我们讲到了:
cleanmgr /d 驱动器号 : -此选项用于指定您希望“磁盘清理”工具清理哪个驱动器。
cleanmgr /sageset: n -此选项可显示磁盘清理设置对话框
cleanmgr /sagerun: n -此选项将运行那些被指定到 n 值的特定任务。
这一节,我们将详细解析cleanmgr磁盘清理程序。首先,他的相关信息保存在注册表:HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerVolumeCaches里。
各个子项的功能: Active Setup Temp Folders:临时安装文件。 Compress old files:压缩旧文件。 Content Indexer Cleaner:用于内容索引程序的分类文件。 Downloaded Program Files:已下载的程序文件。 Internet Cache Files:Internet 临时文件。 Memory Dump Files:调试转储文件。 Office Setup Files:Office 安装文件。 Offline Files:脱机文件。 Offline Pages Files:脱机网页。 Old ChkDsk Files:旧的Chkdsk 文件。 Recycle Bin:回收站。 Remote Desktop Cache Files:临时远程桌面文件。 Setup Log Files:安装日志文件。 System Restore:可删除的旧系统还原点。 Temporary Files: TEMP 临时文件。 Temporary Offline Files:临时脱机文件。 WebClient andWebPublisher Cache: WebClient/Publisher 临时文件。 卸载备份图像:为上一个操作系统备份文件。 |
下面,我们来看一下具体每个项里的键值:
每个项里的: (默认)(REG_SZ):该选项的CLSID。 AdvancedButtonText(REG_SZ):功能按钮。 Description(REG_SZ):描述。 Display(REG_SZ):选项的名称。 FileList(REG_SZ):筛选的文件扩展名。 Folder(REG_SZ):筛选的路径。 StateFlags-n(REG_DWORD):这里的n 就是 n 值。 REG_DWORD值为2表示设置里选择了,0表示被 取消。 |
通过注册表,我们了解到,虽然语法中写“ /sageset: n -此选项可显示磁盘清理设置对话框,并且还将创建一个注册表项来存储您选择的设置。n值存储在注册表中,它允许您指定“磁盘清理”运行的各种任务。n值可以是从 0 到 65535 之间的任何整数。为了在使用 /sageset选项时让所有的选项都可用,您可能需要指定安装 Windows 的驱动器。”但是,实际使用中,n 值的应该是 0 到 9999 之间。而超过10000 的 n 值,例如设置 n 值为 60188 ,而实际保存的仅为 6018,即只取前四位!
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerVolumeCaches下的各个子项为 Cleanmgr 的清理选项,如果不希望其出现,可直接将该子项删除。
其他的命令行选项(已不再使用):
/TUNEUP: |
Cleanmgr.EXE 头部:
Exe头部 Coff 头部 可选头部 区段头部,.text 区段头部,.data 区段头部,.rsrc |
Cleanmgr.EXE 导入:
msvcrt.dll: ADVAPI32.dll:RegSetValueExW,RegCloseKey,RegEnumKeyW,RegOpenKeyExW,RegOpenKeyW,RegQueryValueExW KERNEL32.dll:GetCommandLineW,GetModuleHandleA,SetUnhandledExceptionFilter,UnhandledExceptionFilter,GetCurrentProcess,TerminateProcess,LocalAlloc,LocalFree,lstrlenW,GetTickCount,CloseHandle,OpenProcess,Sleep,CreateProcessW,GetSystemTimeAsFileTime,GetDiskFreeSpaceExW,GetStartupInfoW,WaitForSingleObject,GetVolumeInformationW,GetLastError,CreateEventW,GetModuleHandleW,GetStartupInfoA,SetErrorMode,lstrcpyW,WideCharToMultiByte,MulDiv,LoadLibraryExW,GetSystemDirectoryW,FreeLibrary,GetProcAddress,LoadLibraryW,GetDiskFreeSpaceW,SetEvent,PulseEvent,CreateThread,GetDriveTypeW,FormatMessageW,QueryPerformanceCounter,GetCurrentThreadId,GetCurrentProcessId GDI32.dll:GetTextExtentPoint32W,SetBkMode,SetBkColor,SetTextColor,ExtTextOutW USER32.dll:SetCursor,LoadCursorW,TranslateMessage,MsgWaitForMultipleObjects,GetWindowThreadProcessId,FindWindowW,LoadStringW,wsprintfW,ShowWindow,MessageBoxW,EnumWindows,RegisterClassW,DefDlgProcW,LoadIconW,SendMessageW,DispatchMessageW,SetDlgItemTextW,GetSystemMetrics,GetClientRect,WinHelpW,EnableWindow,SetWindowLongW,GetWindowLongW,SendDlgItemMessageW,IsDialogMessageW,DestroyWindow,CreateDialogParamW,PeekMessageW,DrawFocusRect,DrawIconEx,GetSysColor,SetFocus,EndDialog,DialogBoxParamW,GetWindowTextW,SetForegroundWindow,GetDlgItem,PostMessageW ole32.dll:CoInitialize,CLSIDFromString,CoCreateInstance,CoTaskMemAlloc,CoTaskMemFree,CoUninitialize OLEAUT32.dll: SHLWAPI.dll:StrCpyW,SHDeleteKeyW,StrCpyNW,StrStrIW,StrCmpW,StrFormatKBSizeW,StrToIntW COMCTL32.dll:ImageList_Create,ImageList_ReplaceIcon,CreatePropertySheetPageW,PropertySheetW SHELL32.dll:ShellExecuteW,ExtractIconExW,SHGetFileInfoW |