AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 19380
Accepted
Keith Bentrup
Keith Bentrup
Asked: 2009-06-04 19:01:18 +0800 CST2009-06-04 19:01:18 +0800 CST 2009-06-04 19:01:18 +0800 CST

从 xp 中的批处理脚本中删除临时文件

  • 772

我正在寻找一个好的批处理脚本,它可以快速从 Windows(尽可能多的变体)机器(例如 Windows 临时文件夹、所有用户的 IE 临时文件夹等)中找到并清理所有已知的安全临时文件夹/文件。我喜欢 CCleaner(通过 Cleanmgr.exe)之类的 UI 工具,但是当我试图快速清理多台计算机和/或以最少的参与度清理时,最好有一个脚本。

加上一个脚本,我可以将几个脚本链接在一起。然后可能会启动各种防病毒和/或恶意软件检测器。

任何人都有一个好的或可以指向一个好的资源?

windows scripting windows-xp files batch-file
  • 6 6 个回答
  • 21294 Views

6 个回答

  • Voted
  1. Best Answer
    Garrett
    2009-06-04T23:29:00+08:002009-06-04T23:29:00+08:00

    这是我写的一个小脚本,我保存在我的 USB 实用程序驱动器上......非常适合 citrix 服务器 :)

    @echo off
    Echo Started %time%
    Echo Started %time% >> temps.txt
    Echo Running for XP... >> temps.txt
    Echo Running for XP...
    FOR /F "tokens=*" %%G IN ('DIR /B /AD') DO IF EXIST "%%G\Local Settings\Temp\" (
        RMDIR /S /Q "%%G\Local Settings\Temp"
        MKDIR "%%G\Local Settings\Temp"
        Echo Cleared %%G\Local Settings\Temp
        Echo Cleared %%G\Local Settings\Temp >> temps.txt
    )
    FOR /F "tokens=*" %%G IN ('DIR /B /AD') DO IF EXIST "%%G\Local Settings\Temporary Internet Files\" (
        RMDIR /S /Q "%%G\Local Settings\Temporary Internet Files\"
        MKDIR "%%G\Local Settings\Temporary Internet Files\"
        Echo Cleared %%G\Local Settings\Temporary Internet Files\
        Echo Cleared %%G\Local Settings\Temporary Internet Files\ >> temps.txt
    )
    Echo Done.
    Echo Running for Vista >> temps.txt
    Echo Running for Vista...
    FOR /F "tokens=*" %%G IN ('DIR /B /AD') DO IF EXIST "%%G\AppData\Local\Temp\" (
        RMDIR /S /Q "%%G\AppData\Local\Temp\"
        MKDIR "%%G\AppData\Local\Temp\"
        Echo Cleared %%G\AppData\Local\Temp\
        Echo Cleared %%G\AppData\Local\Temp\ >> temps.txt
    )
    FOR /F "tokens=*" %%G IN ('DIR /B /AD') DO IF EXIST "%%G\AppData\Local\Microsoft\Windows\Temporary Internet Files\" (
        RMDIR /S /Q "%%G\AppData\Local\Microsoft\Windows\Temporary Internet Files\"
        MKDIR "%%G\AppData\Local\Microsoft\Windows\Temporary Internet Files\"
        Echo Cleared %%G\Local Settings\Temporary Internet Files\
        Echo Cleared %%G\Local Settings\Temporary Internet Files\ >> temps.txt
    )
    Echo Done.
    Echo Ended %time%
    Echo Ended %time% >> temps.txt
    

    使用风险自负,等等......这会删除东西。

    我从文档和设置文件夹或 Vista 上的用户运行它。您可以轻松地将 CD 命令放在顶部以从任何您想要的地方运行它。

    cd %userprofile%
    cd ..
    

    此外,根据我的经验,在任何时候清除临时文件夹通常都是安全的。使用临时文件的程序将锁定它们,并且此脚本将在该文件上出错并继续运行。

    IF EXIST 行在这里特别好,它可以防止脚本在 NetworkService 和类似文件夹中创建文件夹,如果您没有在 Vista 或 XP 上运行它,那么该部分的运行速度非常快。

    在您运行脚本的地方创建 temps.txt 日志文件

    编辑:来自 Freenode 上##windows-server 的建议: 问:为什么不检测它在开始时运行的操作系统并运行相应的部分?答:我经常在离线媒体上使用该脚本,例如已提取的硬盘驱动器。

    • 7
  2. Evan Anderson
    2009-06-04T19:15:47+08:002009-06-04T19:15:47+08:00

    小心丢弃临时文件。一些软件安装程序在引导之间将文件存储在那里。我的一个老上司在那里存放了重要的文件(但是,他对某些事情不太了解)。

    在批处理文件中,执行:

    DEL /S /Q "%TEMP%\*.*"
    

    会做你想做的。将其作为登录脚本运行(或通常在登录时)将清除每个用户的临时目录。将其作为启动脚本运行(作为 .DEFAULT 运行时)将清除每台计算机的临时目录。

    我有一个 VBScript,我运行它来根据它们的年龄在启动和登录时清除临时文件。这是属于客户的东西,所以我不能在这里发布(用他们的一角钱写的),但脚本编写者可以在几分钟内为您整理好。

    我不知道清除 IE“临时 Internet 文件”的受支持 API。我想你可以删除它们,但我不会。

    • 3
  3. Jim B
    2009-06-04T19:19:21+08:002009-06-04T19:19:21+08:00

    清理临时目录的最佳安全方法是使用 cleanmgr。缺点是您必须在每台机器上运行 sageset,或者(并且更容易)使用注册表项构建 ADM 文件并使用组策略将它们推送到客户端桌面。要查看的注册表项是:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches

    另请参阅如何在 Windows XP 中自动化磁盘清理工具

    • 3
  4. Julius Thyssen
    2012-05-05T02:07:29+08:002012-05-05T02:07:29+08:00

    你们都太难了。这是他要问的Windows XP。这里有一些有用的:

    DEL /Q /S "%USERPROFILE%\Local Settings\Temp\*.*"
    DEL /F /Q /S "%USERPROFILE%\Local Settings\Temporary Internet Files\*.*" >NUL
    DEL /F /Q /S "%WinDir%\Temp\*.*"
    
    • 1
  5. Vito
    2010-08-24T19:12:21+08:002010-08-24T19:12:21+08:00

    为什么不在您的脚本中使用 Ccleaner,因为它已经拥有您需要的所有功能。然后使用 Psexec 推送调用 Ccleaner 的脚本,完成后删除 Ccleaner。您可以添加一个 .ini 文件,其中包含 Ccleaner 中所需的所有设置。这样,您不必重新发明轮子。一切都与重用有关。

    • 0
  6. Michiel van den Boogaard
    2011-04-12T01:37:39+08:002011-04-12T01:37:39+08:00

    我宁愿删除文件而不是 XP 上的文件夹;因为我们有一个存储大量临时文件并将它们留在那里的应用程序。我确实想删除所有用户配置文件中的文件。

    FOR /F "tokens=1" %%G IN ('DIR /B /AD "c:\documents and settings"') DO IF EXIST "c:\documents and settings\%%G\Local Settings\Temp\" (del "c:\documents and settings\%%G\local settings\temp\*.*"/Q)
    
    • 0

相关问题

  • Vanilla Powershell 是否足以成为 Windows 和 DB 服务器管理员的语言?

  • 为什么添加新驱动器后我的磁盘驱动器访问速度如此之慢?

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

  • 最佳混合环境(OS X + Windows)备份?[关闭]

  • 在 SQL Server 中,何时应将 PRIMARY Data FileGroup 拆分为辅助数据文件?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve