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

时间:2010-05-20 16:15:23

标签: command-line batch-file prompt

我有一个litle项目,我想删除c:\ windows操作系统之外的所有文件。因此我需要创建一个我想保留的列表,例如boot.ini c:\ windows等,然后删除其他所有内容。我见过使用forFile的例子,但我可以肯定扩展将在机器上。有没有人有任何想法如何我可以创建排除列表,然后进行删除?

4 个答案:

答案 0 :(得分:0)

快速查看不应触及的顶级文件夹列表:

$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位操作系统安装上32位应用程序的重定向Program Files。但是,我已经看到在这个文件夹中安装的应用程序,而不是Program Files,即使在32位操作系统上,所以我建议保留它并手动检查其内容,以便做出决定是否应该消失。 / p>

更新:没有可靠的方法来列出操作系统文件。该版本的操作系统版本,SKU,架构,安装的操作系统功能,硬件驱动程序,操作系统更新和已安装的应用程序之间的差异很大。

答案 1 :(得分:0)

不要忘记备份您实施的任何方法。

::您可以定义参数,以便它不包含您不想要的文件夹,并像这样检查

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
) ^

答案 2 :(得分:0)

除了关于除c:\ Windows之外的其他文件夹的评论之外,许多常见的Windows组件都在Program Files \ Common Files中,而Program Files下的应用程序文件夹可能有Windows无法正常启动的驱动程序无;防病毒,图形和其他非默认硬件驱动程序。

这里有龙。

答案 3 :(得分:0)

如果你想要摆脱用户数据文件,你只需要查看几个地方,例如%USERPROFILE%\AppData。实际目录名称因操作系统(XP / Vista / 7)而异。

但是不要对管理员或你自己这样做!