我有一个小项目,我想删除 c:\windows 操作系统之外且不需要的所有文件。因此,我需要创建一个我想要保留的列表,即 boot.ini c:\windows 等,然后删除其他所有内容。我已经看到使用 forFile 的示例,但我可以确定扩展名将在机器上。有谁知道我如何创建排除列表然后删除?
4 回答
这是您不应该触摸的顶级文件夹列表的快速提示:
$Recycle.Bin
Documents and Settings [C:\Users]
inetpub
MSOCache
Program Files
Program Files (x86)
ProgramData
Recovery
System Volume Information
Users
Windows
在 XPDocuments and Settings
上是文件夹,在 Vista 和 7 上是文件Users
夹的链接。
MSOCache
也可以安全删除。但是,许多安装程序包被缓存在那里并用于各种 MS 产品更新/修复。因此,我实际上建议保留它。
Program Files (x86)
Program Files
是64 位操作系统安装上 32 位应用程序的重定向。但是,我已经看到安装在此文件夹中的应用程序,而不是安装在Program Files
32 位操作系统上,因此我建议保留它并手动检查其内容以决定它是否应该消失。
更新:没有可靠的方法仅列出操作系统文件。该列表在操作系统版本、SKU、体系结构、已安装的操作系统功能、硬件驱动程序、操作系统更新和已安装的应用程序之间可能存在很大差异。
不要忘记备份您实施的任何方法。
::您可以定义参数,使其知道不包含您不想要的文件夹并像这样检查它
IF "%2" == ""
IF "%1" == "RunMyBatchFile" ^
FOR %%i IN (""%filter%) ^ ::directory name goes in here that you want to iterate over todelete
DO (^::Do your stuff, make sure to use echo to see the output on the cmd
) ^
除了c:\Windows以外的其他文件夹的注释外,Program Files\Common Files下还有很多常用的windows组件,而Program Files下的应用程序文件夹很可能有Windows无法正常启动的驱动程序;防病毒、图形和其他非默认硬件驱动程序。
这里是龙。
如果您想要摆脱用户数据文件,您只需要查看几个地方,例如%USERPROFILE%\AppData
. 实际目录名称因操作系统 (XP/Vista/7) 而异。
但不要对管理员或你自己这样做!