Board logo

标题: [文本处理] 【已解决】删除指定日期之前的文件 [打印本页]

作者: 7016427    时间: 2015-6-4 19:16     标题: 【已解决】删除指定日期之前的文件

本帖最后由 pcl_test 于 2017-3-30 13:24 编辑

请高手看看,这个bat删除文件代码怎么修改
@echo off&setlocal EnableDelayedExpansion
set /p d="请输入日期(2015-05-01)"
cd /d d:\统计\
for /f "tokens=1-3*" %%a in ('dir /a:%-d% /t^|findstr /b [0-9]') do (
        if "%%a" leq "!d:~,4!-!d:~5,2!-!d:~8,2!" (
del %d% /q
)
)  
pause
说明:输入日期为2015-05-31,就是删除2015-05-31之前d:\统计\里,所有2015-05-31之前创建的文件。
在此谢谢4楼高手!
作者: yangfengoo    时间: 2015-6-4 20:04

http://bbs.bathome.net/thread-3334-1-1.html
作者: 7016427    时间: 2015-6-4 20:18     标题: 【未解决】 请高手看看,这个bat删除文件代码怎么修改

【未解决】回复 2# yangfengoo
@echo off&setlocal EnableDelayedExpansion
set /p d="请输入日期(2015-05-01)"
cd /d d:\统计\
for /f "tokens=1-3*" %%a in ('dir /a:%-d% /t^|findstr /b [0-9]') do (
        if "%%a" leq "!d:~,4!-!d:~5,2!-!d:~8,2!" (
if exist "%%a" (echo del /f /q "%d%"
)
)  
)
pause
我不知道怎么改?请老师指导!
作者: yangfengoo    时间: 2015-6-4 21:05

  1. @echo off&setlocal EnableDelayedExpansion
  2. set /p d="请输入日期(2015-05-01)"
  3. set d=%d:/=%
  4. set d=%d:-=%
  5. cd /d d:\统计\
  6. for /f "skip=1 tokens=1-6*" %%a in ('dir /a-d ^|find ":"') do (
  7.         set t=%%a
  8. set t=!t:-=!
  9. set t=!t:/=!
  10. if !t! leq !d! del /q "%%d" !t!
  11. )  
  12. pause
复制代码





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