Board logo

标题: [文件操作] 批处理如何删除指定文件夹(但不能指定完整路径)下的7天以前的文件? [打印本页]

作者: stardnafox    时间: 2021-1-29 14:40     标题: 批处理如何删除指定文件夹(但不能指定完整路径)下的7天以前的文件?

比如我想删除d:\test\下面的子目录或者子子目录里,文件夹名称是a里面的创建日期是7天以前的文件。也就是要先能搜索到a目录,这个路径不能写死。
作者: WHY    时间: 2021-1-29 19:43

  1. PowerShell "dir 'D:\Test' -Recurse | ?{$_ -is [IO.FileInfo] -and $_.Directory.Name -eq 'A' -and (get-Date) -gt $_.CreationTime.AddDays(7)} | Remove-Item -Force -WhatIf"
复制代码

作者: stardnafox    时间: 2021-1-30 09:58

本帖最后由 stardnafox 于 2021-1-30 10:06 编辑

非常感谢老师回复,可以貌似运行后文件没有被删除掉(运行中有提示“对目标xx目录,执行操作,删除文件”)。。。我把7天修改成1天,或者0天都没有删除掉,请老师百忙之中再指点一下,非常感谢!另外请教老师,如果改成0天就代表跟日期无关对吧?
作者: WHY    时间: 2021-1-30 13:17

回复 3# stardnafox


    如果测试无误,把 -WhatIf 删掉。
改成0天的话,相当于现在这个时候之前创建的文件,与日期无关,那就删掉 -and (get-Date) -gt $_.CreationTime.AddDays(7)
作者: stardnafox    时间: 2021-2-1 09:19

感谢老师回复,主要是没删掉。。。。不知是什么问题,请老师指点迷津!
作者: dengdachang    时间: 2022-10-13 14:16

回复  stardnafox


    如果测试无误,把 -WhatIf 删掉。
改成0天的话,相当于现在这个时候之前创建的 ...
WHY 发表于 2021-1-30 13:17


如果我想删掉 指定文件夹下指定的某个文件,要怎么修改呢?
例如:删除【实景照片】文件夹下包含有【外业核查照片.docx】的文件。
作者: hfxiang    时间: 2022-10-13 14:28

本帖最后由 hfxiang 于 2022-10-13 14:30 编辑
  1. forfiles /p "d:\test" /s /m *.* /d -7 /c "cmd /c del @path"
复制代码

作者: dengdachang    时间: 2022-10-13 16:11

回复 7# hfxiang
您这是指定完整路径的下可以实现。
能在不指定完整路径情况下,删除指定文件吗?
指定子文件夹下的文件。
如路径:*\test\外业照片.docx




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