【问题标题】:using a batch file, how can i delete all files not in the windows dir?使用批处理文件,如何删除不在 Windows 目录中的所有文件?
【发布时间】:2010-05-20 16:15:23
【问题描述】:

我有一个小项目,我想删除 c:\windows 操作系统之外且不需要的所有文件。因此我需要创建一个我想要保留的列表,即 boot.ini c:\windows 等,然后删除其他所有内容。我已经看到使用 forFile 的示例,但我可以确定扩展名将在机器上。有没有人知道如何创建排除列表然后删除?

【问题讨论】:

  • 您可能会破坏您的注册表。从幽灵或类似备份中恢复驱动器怎么样?
  • 我认为你在倒退。除非您想杀死所有应用程序,否则只需删除用户帐户即可。
  • @bliss:无论如何,您都无法从正在运行的 Windows 中删除注册表。

标签: command-line batch-file prompt


【解决方案1】:

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

:: 你可以定义参数,让它知道不包括你不想要的文件夹,然后像这样检查它

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

【讨论】:

  • 感谢您查看下面列表的建议,我将使用 For /F %I in ('dir /s /b "USERPROFILE%") do Del %I 如果用户将他们用户个人资料中的内容,将其删除,不要因错误而停止。再次感谢
【解决方案2】:

除了c:\Windows以外的其他文件夹的cmets,很多常用的windows组件都在Program Files\Common Files下,Program Files下的应用文件夹很可能有Windows无法正常启动的驱动没有;防病毒、图形和其他非默认硬件驱动程序。

这里是龙。

【讨论】:

  • 确实是龙!基本上我想删除用户内容,同时不理会操作系统,避免操作系统警告thnx
【解决方案3】:

以下是您不应触摸的顶级文件夹列表的快速提示:

$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。但是,即使在 32 位操作系统上,我也看到安装在此文件夹中的应用程序而不是 Program Files,因此我建议保留它并手动检查其内容以决定是否应该删除它。

更新:没有可靠的方法仅列出操作系统文件。该列表可能因操作系统版本、SKU、体系结构、已安装的操作系统功能、硬件驱动程序、操作系统更新和已安装的应用程序而有很大差异。

【讨论】:

  • 确定 - 但是如果我想删除所有用户数据,只需要运行操作系统需要哪些文件?
【解决方案4】:

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

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

【讨论】:

    猜你喜欢
    • 2011-10-13
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2011-08-07
    相关资源
    最近更新 更多