Board logo

标题: [文本处理] 求个bat,清理用户文件 [打印本页]

作者: 781885525    时间: 2022-4-27 14:44     标题: 求个bat,清理用户文件

求个bat,清理用户文件
因为计算机有很多账户登录,C盘经常满。
大概的需求就是能删除C:\Users下除了
当前用户名,User,All User,Public;All Users,Default User,Default
这几个文件夹以外的其它所有文件夹及文件。
作者: Batcher    时间: 2022-4-27 19:18

回复 1# 781885525


test_1.bat
测试之前请做好备份,以免发生误删。

请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set ExceptionList="%username%","User","All User","Public","All Users","Default User","Default"
  4. for /f "delims=" %%i in ('dir /b /ad "C:\Users"') do (
  5.     set "n=0"
  6.     for %%j in (%ExceptionList%) do (
  7.         if "%%i" equ %%j (
  8.             set "n=1"
  9.         )
  10.     )
  11.     if !n! equ 0 (
  12.         rd /s /q "C:\Users\%%i"
  13.     )
  14. )
复制代码

作者: Batcher    时间: 2022-4-27 19:23

回复 1# 781885525


test_2.bat
测试之前请做好备份,以免发生误删。

请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /ad "C:\Users" ^| findstr /v /b /e /c:"%username%" /c:"User" /c:"All Users" /c:"Public" /c:"All Users" /c:"Default User" /c:"Default"
  3. ') do (
  4.     echo rd /s /q "C:\Users\%%i"
  5. )
复制代码

作者: 781885525    时间: 2022-4-28 09:06

回复 3# Batcher


    感谢大佬,问一个较为天真的问题,这个命令需要管理员身份才能运行,而我们的环境想在域控下运行。
用户没有管理员权限。有没有可能将管理员写在bat里?谢谢。
作者: Batcher    时间: 2022-4-28 16:21

回复 4# 781885525


试试有没有可以成功的:
http://bbs.bathome.net/thread-49107-1-1.html




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2