Board logo

标题: [文件操作] 批处理如何删除指定文件? [打印本页]

作者: autoav    时间: 2022-1-26 14:20     标题: 批处理如何删除指定文件?

如何在子目录下删除一个指定大小和日期,但是不指定文件名的文件。
比如A.jpg是一个广告文件,此文件在不同的文件夹里会以不同的名字,所以不能指定文件名。但是大小和日期是相同的。
作者: idwma    时间: 2022-1-26 16:13

本帖最后由 idwma 于 2022-1-26 16:42 编辑
  1. #@&cls&powershell "type %~s0|out-string|iex"&pause&exit
  2. dir a.jpg|%{$l=$_.length;$t=$_.lastwritetime}
  3. dir -rec .\*\* -inc *.jpg|%{if(($_.length -eq $l) -and $_.lastwritetim -eq $t){del $_}}
复制代码

作者: Batcher    时间: 2022-1-26 16:46

回复 1# autoav


    如果只判断大小和日期,还是有可能误删其它“好文件”吧,判断一下MD5会更加严谨。
作者: autoav    时间: 2022-2-25 16:56

idwma 发表于 2022-1-26 16:13


powershell不会用,有直接bat程序吗》?
作者: idwma    时间: 2022-2-25 17:08

本帖最后由 idwma 于 2022-2-25 17:10 编辑

3行是文件属性里的大小字节去掉,号
  1. @echo off
  2. set "t=2022/02/25 18:37"
  3. set "z=10000"
  4. for /f "delims=" %%i in ('dir /b /s /a-d') do (
  5. if "%t%"=="%~ti" if "%z%"=="%%~zi" del "%%i"
  6. )
  7. pause
复制代码





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