繁体   English   中英

使用批处理文件,如何删除不在Windows目录中的所有文件?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM