找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 11723|回复: 12

[文件操作] 【已解决】求bat代码删除文件夹里面今天创建的(全部)文件

[复制链接]
发表于 2024-12-15 08:10:00 | 显示全部楼层 |阅读模式
本帖最后由 yyz219 于 2024-12-29 13:14 编辑

完美解决了:
@echo off &cd /d "D:\桌面\Desktop\!!!\模拟点关闭按钮" 2>nul
for /f "tokens=3* delims= " %%a in (
   'dir /s/a-d/tc/o-d^|findstr /bc:"%date:~,10%" '
) do (for /f "delims=" %%F in ('dir/b/s "%%b" ') do del/q "%%F") 2>nul
::pause&exit/b

==============================================
下面代码:会删除今天创建的  和 今天修改的
  1. @echo off &cd /d "D:\2新机器"
  2. for /f "tokens=3* delims= " %%a in (
  3.    'dir /s/a-d/tc/o-d^|findstr /bc:"%date:~,10%" '
  4. ) do for /f "delims=" %%F in ('dir/b/s "%%b" ') do del/q "%%F"
  5. pause&exit/b
复制代码

=================================================
原来的问题:
求bat:删除“D:\12文件夹(包括子文件夹)”里面今天创建的(全部)文件,谢谢
发表于 2024-12-15 09:10:22 | 显示全部楼层
回复 1# yyz219

已在此帖中回复 http://www.bathome.net/viewthrea ... =page%3D1#pid286369

评分

参与人数 1技术 +1 收起 理由
yyz219 + 1 乐于助人

查看全部评分

 楼主| 发表于 2024-12-15 09:16:35 | 显示全部楼层
回复 2# aloha20200628


    成功了 非常感谢
发表于 2024-12-16 10:47:56 | 显示全部楼层
forfiles命令了解一下,一行命令就可以解决。

forfiles /p "D:\2新机器" /s /d 0 /c "cmd /c del /q @file"
发表于 2024-12-16 12:35:17 | 显示全部楼层

forfiles 是批处中的批处工具,用于处理某类问题相当简洁,但其时间控制是根据 ‘最后修改时间’,故采用 /d 0 参数会将 ‘当日创建和当日修改’ 一网打尽...
发表于 2024-12-17 04:56:14 | 显示全部楼层
回复 4# semiuel


    多谢大佬分享, 下面是ai解释

这段代码使用的是 forfiles 命令,它是 Windows 命令行中的一个工具,用于处理文件和目录。以下是对这段代码的详细解释:

代码解释:
forfiles /p "D:\2新机器" /s /d 0 /c "cmd /c del /q @file"
各部分的含义:
forfiles:

这是一个 Windows 命令,用来遍历指定目录中的文件,并对每个文件执行指定的操作。
/p "D:\2新机器":

-p(或 /p)用于指定要处理的根目录。"D:\2新机器" 是要遍历的目标目录路径。
/s:

-s 表示递归地遍历子目录。这意味着不仅会处理 D:\2新机器 目录中的文件,还会处理该目录下所有子目录中的文件。
/d 0:

-d 后跟数字表示“日期”条件。0 表示今天的日期(即仅处理今天修改过的文件)。因此,/d 0 表示只处理今天修改过的文件。
如果想要删除今天及之前修改的文件,可以使用该选项。
/c "cmd /c del /q @file":

-c 后跟一个命令,指定对每个文件执行的操作。此处是 "cmd /c del /q @file",意思是:
cmd /c:在执行完命令后关闭命令提示符。
del /q:删除文件并且不显示删除确认信息(/q 是“静默模式”)。
@file:代表当前正在处理的文件的路径和文件名。每当遍历到一个文件时,@file 会被替换为该文件的路径。
总结:
这段代码的作用是:

遍历 D:\2新机器 目录及其所有子目录。
查找今天修改过的文件(/d 0)。
对每个找到的文件,执行删除操作 (del),并且不显示删除确认 (/q)。
注意事项:
这段命令会删除符合条件的文件,请确保你不希望删除的文件不会被误删除。
如果要删除的文件很多,执行时间可能会较长。
这条命令是不可恢复的,因此在执行之前,最好备份重要文件。
发表于 2024-12-17 16:03:18 | 显示全部楼层
回复 6# 小白龙


    AI回复的好详细。
不过确实如5楼大佬说的那样,这条命令不光删除今天创建的文件,还会删除今天修改的文件。
所以请谨慎操作。
 楼主| 发表于 2024-12-28 18:56:01 | 显示全部楼层
回复  小白龙


    AI回复的好详细。
不过确实如5楼大佬说的那样,这条命令不光删除今天创建的文件, ...
semiuel 发表于 2024-12-17 16:03


真的“不光删除今天创建的文件,还会删除今天修改的文件。”

怎样才能够仅仅删除 今天创建的文件?
 楼主| 发表于 2024-12-29 07:15:31 | 显示全部楼层
forfiles 是批处中的批处工具,用于处理某类问题相当简洁,但其时间控制是根据 ‘最后修改时间’,故采用 ...
aloha20200628 发表于 2024-12-16 12:35


真的“不光删除今天创建的文件,还会删除今天修改的文件。”

怎样才能够仅仅删除 今天创建的文件?
发表于 2024-12-29 10:44:18 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-12-29 10:48 编辑


因二楼引用帖被限权访问,这里再明确一些要点》
一。如 xcopy/robocopy/forfiles 这些系统预装工具的当日时控参数均根据文件或目录的 ‘修改时间’,故在批处代码中根据 ‘创建时间’ 参数的文件/目录操作也许用 dir /tc ... 匹配列表获取更为直接...

二。可用以下一行流代码速览当前目录下的当日(创建)文件列表...

  1. dir /s/a-d/tc/o-d|findstr /bc:"%date:~,10%"
复制代码
三。可用以下一行流代码速览当前目录下的当日(创建)子目录列表...

  1. dir /s/ad/tc/o-d|findstr /bc:"%date:~,10%"
复制代码

评分

参与人数 1技术 +1 收起 理由
yyz219 + 1 乐于助人

查看全部评分

 楼主| 发表于 2024-12-29 11:03:06 | 显示全部楼层
回复 10# aloha20200628


    我需要完整代码,谢谢
发表于 2024-12-29 11:52:15 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-12-29 11:55 编辑

回复 11# yyz219

删除目标文件夹(包括其子文件夹)中全部当日创建文件》
代码中预设要处理的目标文件夹是 "d:\test",可由楼主自定义,以下代码不要存于目标文件夹中运行...

  1. @echo off &cd /d "d:\test" 2>nul
  2. for /f "tokens=3* delims= " %%a in (
  3.    'dir /s/a-d/tc/o-d^|findstr /bc:"%date:~,10%" '
  4. ) do (for /f "delims=" %%F in ('dir/b/s "%%b" ') do del/q "%%F") 2>nul
  5. pause&exit/b
复制代码

评分

参与人数 1技术 +1 收起 理由
yyz219 + 1 乐于助人

查看全部评分

发表于 2024-12-29 13:30:14 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-12-29 13:31 编辑

回复 11# yyz219

如系统已经预装 powershell,亦可用以下的 bat+powershell 版本(其中预设目标文件夹为 d:\test),存为 test.bat 但不要放在目标文件夹下...

  1. @echo off &powershell "dir -path 'd:\test' -file -r|%%{if($_.creationTime.tostring('yyyy-MM-dd') -eq (get-date -format 'yyyy-MM-dd')){del $_.fullname}}" &pause&exit/b
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 13:14 , Processed in 0.011637 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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