Board logo

标题: [文件操作] [已解决]如何删除指定文件夹里一分钟前创建的文件? [打印本页]

作者: 每天几分    时间: 2016-4-6 21:36     标题: [已解决]如何删除指定文件夹里一分钟前创建的文件?

本帖最后由 pcl_test 于 2016-4-7 12:52 编辑

我现在有一个文件夹,每秒钟都会在里面不断地创建文件,请问可以在它们创建1分钟之后再删除掉吗?而且要一直运行着这个批处理。
作者: happy886rr    时间: 2016-4-6 22:29

本帖最后由 happy886rr 于 2016-4-6 22:57 编辑
  1. @echo off
  2. :main
  3. cls&(for /f "delims=" %%a in ('dir /a-d /b /s *.*') do (echo %%a))>$
  4. echo 正在等待...
  5. choice /t 50 /d y /n >nul
  6. echo 正在删除...
  7. for /f "delims=" %%a in ('type $') do (if not "%%a"=="%~f0" del /f /q "%%a")
  8. goto main
复制代码
回复 1# 每天几分
作者: CrLf    时间: 2016-4-6 22:32

  1. hash /t::~-1 /do:"del ""%%s"""
复制代码
第三方工具 HASH 下载:http://www.bathome.net/s/tool/?key=hash&keymode=4
3.0 以上版本才支持 /do 开关
作者: WHY    时间: 2016-4-6 22:43

  1. PowerShell -c "dir E:\test\*.*|?{$_ -is [IO.FileInfo] -and ((get-Date)-$_.CreationTime).TotalMinutes -gt 1}|del -Force"
复制代码
放在任务计划里,每分钟执行一次
作者: pcl_test    时间: 2016-4-7 00:40

本帖最后由 pcl_test 于 2016-4-7 00:57 编辑

vbs
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. Set Folder = fso.GetFolder(".")   '当前目录,可指定文件夹路径
  3. DO
  4.     Set Files = Folder.Files
  5.     For Each File In Files
  6.         If File <> WScript.ScriptFullName Then
  7.             n = DateDiff("n", File.DateCreated, now)
  8.             If n >= 1 Then fso.DeleteFile File    '删除一分钟前创建的文件
  9.         End If
  10.     Next
  11.     Wscript.Sleep 10000   '10秒检测一次
  12. Loop
复制代码





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