我有一个litle项目,我想删除c:\ windows操作系统之外的所有文件。因此我需要创建一个我想保留的列表,例如boot.ini c:\ windows等,然后删除其他所有内容。我见过使用forFile的例子,但我可以肯定扩展将在机器上。有没有人有任何想法如何我可以创建排除列表,然后进行删除?
答案 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)而异。
但是不要对管理员或你自己这样做!