[英]using a batch file, how can i delete all files not in the windows dir?
我有一个litle项目,我想删除c:\\ windows操作系统不需要的所有文件。 因此,我需要创建一个我想保留的列表,即boot.ini c:\\ windows等,然后删除其他所有内容。 我已经看到了使用forFile的示例,但是我可以确定扩展名将在计算机上。 有谁知道我如何创建排除列表然后删除呢?
这是您不应该触摸的顶级文件夹列表的快速选项:
$Recycle.Bin
Documents and Settings [C:\Users]
inetpub
MSOCache
Program Files
Program Files (x86)
ProgramData
Recovery
System Volume Information
Users
Windows
在XP Documents and Settings
是一个文件夹,在Vista和7上是指向Users
文件夹的链接。
MSOCache
也可以安全删除。 但是,许多安装程序包都被缓存在此处,并用于各种MS产品更新/修复。 因此,我实际上建议保留它。
Program Files (x86)
是在64位OS上安装的32位应用程序的重定向Program Files
。 但是,即使在32位操作系统上,我也看到了安装在此文件夹中的应用程序,而不是Program Files
,因此,我建议您保留该文件并手动检查其内容,以决定是否应该删除它。
更新:没有可靠的方法仅列出OS文件。 在操作系统版本,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)而异。
但是不要对管理员或您自己这样做!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.