无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: qinyuming452

[求助] [已解决]求助,p监控指定文件夹,新增包含有特定字符的文件夹时自动删除比新增

[复制链接]
发表于 2020-8-7 07:46:56 | 显示全部楼层 |阅读模式
本帖最后由 qinyuming452 于 2020-8-11 21:27 编辑

结合各位大大的指导,
使用计划任务来实行脚本。
监控指定的 C:\DATA文件夹,
发现有新增有包含有特定字符(KD的文件夹名字的时候,
比如在C:\DATA文件夹下面监控到新增加了名为:abc(KD778-V11)1P文件夹
自动删除比新增加的文件夹修改日期旧的包含有特定字符(KD的文件夹,
只保留这个最新的增加的文件夹,

同时删除掉board.inf文件中对应的行,
也只保留最新的增加的文件夹对应的行。

board.inf文件中对应的行
abc(KD778-V11)1P abc(KD778-V11)1P C:\DATA\abc(KD778-V11)1P\ RRZK3591B-8-4(BB0043430)
cba(KD778-V12)1P cba(KD778-V12)1P C:\DATA\cba(KD778-V12)1P\ RRZK3591B-5-4(BB0043587)
debugbox debugbox C:\DATA\debugbox\

现在找到一个可以实现删除的bat了,但不知道如何对和inf文件进行操作
@echo off&setlocal enabledelayedexpansion
pushd "C:\DATA"
set n=2
set m=0
for /f "delims=" %%a in ('dir "*(KD*" /ad /b /o-d') do (
set /a m+=1
if !m! gtr !n! rd /q /s "%%~nxa"
)
@echo 任务完成
exit


board.ini.zip

254 Bytes, 下载次数: 1, 下载积分: 无忧币 -2

 楼主| 发表于 2020-8-7 09:28:18 | 显示全部楼层
edison_2008 发表于 2020-8-7 09:08
脚本实现比较难吧。主要是动作太多,可以找个文件夹监控软件试试

那么如果仅仅只是保留特定字符的最新那那个文件夹,
其它含有特定字符的旧日期的文件夹进行删除?
这样应用怎样批处理来实现
回复

使用道具 举报

 楼主| 发表于 2020-8-7 10:05:01 | 显示全部楼层
edison_2008 发表于 2020-8-7 09:08
脚本实现比较难吧。主要是动作太多,可以找个文件夹监控软件试试

或者这样的,加计划任务中,定时运行
批量删除含有某个关键字的文件夹(包括所有子文件夹、所有文件)?
保留一个含有某个关键字的文件夹修改日期最新文件夹,
比如C:\DATA目录下
分别有文件夹名为
abc123cbh      修改时间2020-08-07 9:30
bac123bag      修改时间2020-08-07 9:40
cba123bad      修改时间2020-08-07 9:50

删除含有123的且修改时间2020-08-07 9:30和9:40的文件夹(包括子文件夹、文件)
保留9:50的这个文件夹及下边的子文件夹和文件
回复

使用道具 举报

 楼主| 发表于 2020-8-7 12:39:45 | 显示全部楼层
edison_2008 发表于 2020-8-7 11:25
是这么个情况,如果实时监控,脚本实现占用资源非常高,因为没有内存优化的过程,还不如软件来的好。

如 ...

如果是使用计划任务的话,能实现删除功能嘛,
回复

使用道具 举报

 楼主| 发表于 2020-8-7 12:45:50 | 显示全部楼层
edison_2008 发表于 2020-8-7 11:25
是这么个情况,如果实时监控,脚本实现占用资源非常高,因为没有内存优化的过程,还不如软件来的好。

如 ...

现在找到一个可以实现删除的bat了,但不知道如何对和inf文件进行对应的操作

@echo off&setlocal enabledelayedexpansion
pushd "C:\DATA"
set n=2
set m=0
for /f "delims=" %%a in ('dir "*(KD*" /ad /b /o-d') do (
set /a m+=1
if !m! gtr !n! rd /q /s "%%~nxa"
)
@echo 任务完成
exit
回复

使用道具 举报

发表于 2020-8-9 10:01:48 | 显示全部楼层
一如既往的支持!
回复

使用道具 举报

发表于 2020-8-9 15:05:10 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. pushd "C:\DATA"
  3. for /f "skip=1 delims=" %%a in ('dir "*(KD*" /ad /b /o-d') do (
  4.     rd /q /s "%%~nxa" >nul 2>nul
  5.     echo;%%~nxa
  6. )>"%temp%\tmp.tmp"
  7. findstr /i /v /g:"%temp%\tmp.tmp" board.inf>board.inf2  2>nul
  8. del /f /q "%temp%\tmp.tmp">nul 2>nul
  9. del /f /q board.inf>nul 2>nul
  10. ren board.inf2 board.inf
  11. echo 任务完成
  12. pause
复制代码
回复

使用道具 举报

 楼主| 发表于 2020-8-11 21:24:15 | 显示全部楼层

感谢,问题已解决
回复

使用道具 举报

发表于 2020-8-17 08:19:13 | 显示全部楼层
没看慬p监控的p表示什么
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-29 02:23

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表