注册
登录
论坛
搜索
帮助
导航
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
BAT求助&讨论
» 请教BAT脚本文件批量删除的问题
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
返回列表
发帖
xuxianking
发短消息
加为好友
xuxianking
当前离线
UID
101766
帖子
8
精华
0
积分
20
PB
20
技术
0
捐助
0
阅读权限
5
在线时间
30 小时
注册时间
2021-1-14
最后登录
2024-4-23
列兵
帖子
8
积分
20
技术
0
捐助
0
注册时间
2021-1-14
1
楼
跳转到
»
倒序看帖
打印
字体大小:
t
T
发表于 2021-3-28 21:50
|
显示全部帖子
[文件操作]
请教BAT脚本文件批量删除的问题
各位好, 在写一个批处理的时候,遇到一个问题,
需要达到的效果是:删除C盘users目录下超过三十天为使用的文件夹(特定用户的文件夹),但不删除当前运行这个bat脚本用户的文件夹,因为脚本是在域控环境中运行的,所以现在
有两个情况1.一个域控中的电脑用户文件都有一个特定的标识都带有 “_v” ,2.另外一个域控中的电脑没有规律,一般以姓名全称来命名。
下面是我写的,可以解决第一种情况的问题,但是第二种情况需要怎么删除,没有什么思路,还请大家给点建议, 谢谢
@echo on
cd C:\Users\
for /d %%G in ("*_v") do rd /s /q "%%~G"
复制代码
收藏
分享
xuxianking
发短消息
加为好友
xuxianking
当前离线
UID
101766
帖子
8
精华
0
积分
20
PB
20
技术
0
捐助
0
阅读权限
5
在线时间
30 小时
注册时间
2021-1-14
最后登录
2024-4-23
列兵
帖子
8
积分
20
技术
0
捐助
0
注册时间
2021-1-14
2
楼
发表于 2021-3-29 11:04
|
显示全部帖子
回复
2#
Batcher
感谢, 我先试试,再请教一下下面这一行的命令
“for /f "delims=" %%i in ('dir /b /ad ^| findstr /r /v /c:"^All Users$" /c:"^Default User$" /c:"^Default$" /c:"^Administrator$" /c:"^Public$"') do ( ”
这一行的意思是排除掉“c:"^All Users$" /c:"^Default User$" /c:"^Default$" /c:"^Administrator$" /c:"^Public”这几个文件夹吗? 之前手动删除文件的时候,测试过如果“c:"^Default User$" /c:"^Default$"/c:"^Public$" ” 被删除, 会影响后续用户登录
TOP
xuxianking
发短消息
加为好友
xuxianking
当前离线
UID
101766
帖子
8
精华
0
积分
20
PB
20
技术
0
捐助
0
阅读权限
5
在线时间
30 小时
注册时间
2021-1-14
最后登录
2024-4-23
列兵
帖子
8
积分
20
技术
0
捐助
0
注册时间
2021-1-14
3
楼
发表于 2021-4-15 12:47
|
显示全部帖子
回复
4#
Batcher
测试的结果是这样的,能找到文件夹, 但是无法删除。
c:\>deltest.bat
c:\>if exist "C:\Users" (pushd "C:\Users" ) else (goto :eof )
C:\Users>for /F "delims=" %i in ('dir /b /ad | findstr /r /v /c:"^All Users$" /c:"^Default User$" /c:"^Default$" /c:"^Administrator$" /c:"^Public$"') do (echo rd /s /q "%i" )
C:\Users>(echo rd /s /q "gongkai_v" )
rd /s /q "gongkai_v"
C:\Users>(echo rd /s /q "lujiayao_v" )
rd /s /q "lujiayao_v"
C:\Users>(echo rd /s /q "sz-luoxiaojia" )
rd /s /q "sz-luoxiaojia"
C:\Users>(echo rd /s /q "szadmin" )
rd /s /q "szadmin"
C:\Users>(echo rd /s /q "szuser" )
rd /s /q "szuser"
C:\Users>(echo rd /s /q "TEMP" )
rd /s /q "TEMP"
C:\Users>(echo rd /s /q "test" )
rd /s /q "test"
C:\Users>(echo rd /s /q "yangziwei_v" )
rd /s /q "yangziwei_v"
C:\Users>(echo rd /s /q "zhaofan5_v" )
rd /s /q "zhaofan5_v"
C:\Users>popd
c:\>pause
请按任意键继续. . .
TOP
xuxianking
发短消息
加为好友
xuxianking
当前离线
UID
101766
帖子
8
精华
0
积分
20
PB
20
技术
0
捐助
0
阅读权限
5
在线时间
30 小时
注册时间
2021-1-14
最后登录
2024-4-23
列兵
帖子
8
积分
20
技术
0
捐助
0
注册时间
2021-1-14
4
楼
发表于 2021-4-15 13:52
|
显示全部帖子
回复
2#
Batcher
找到原因了 删除掉“echo rd /s /q”中的“echo” 就可以了,如果排除当前用户的文件夹?如果我要删30天之前的用户,需要添加什么命令?
TOP
返回列表
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]