批处理文件未删除 [英] Batch File Not Deleting

查看:125
本文介绍了批处理文件未删除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此批处理文件未删除.我得到的错误是找不到路径.我想删除C驱动器上不到一分钟的任何* .zip,*.txt文件.

This batch file isn''t deleting. The error I am getting is path not found. I want to delete any *.zip, *.txt files anywhere on my c drive that are less than a minute old.

@echo off
setlocal
call :DateToMinutes %date:~-4% %date:~-10,2% %date:~-7,2% %time:~0,2% %time:~3,2% NowMins
for /f "delims=" %%a in ('dir * /a-d /b') do call :CheckMins "%%a" "%%~ta"
goto :EOF
:CheckMins
set File=%1
set TimeStamp=%2
call :DateToMinutes %timestamp:~7,4% %timestamp:~1,2% %timestamp:~4,2% %timestamp:~12,2% %timestamp:~15,2%%timestamp:~18,1% FileMins
set /a MinsOld=%NowMins%-%FileMins%
if %MinsOld% leq 1 del %*.zip,*.txt%
goto :EOF
:DateToMinutes
setlocal
set yy=%1&set mm=%2&set dd=%3&set hh=%4&set nn=%5
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
if 1%hh% LSS 20 set hh=0%hh%
if /i {%nn:~2,1%} EQU {p} if "%hh%" NEQ "12" set hh=1%hh%&set/a hh-=88
if /i {%nn:~2,1%} EQU {a} if "%hh%" EQU "12" set hh=00
if /i {%nn:~2,1%} GEQ {a} set nn=%nn:~0,2%
set /a hh=100%hh%%%100,nn=100%nn%%%100,j=j*1440+hh*60+nn
endlocal&set %6=%j%&goto :EOF 



另外,我认为我需要修改日期而不是创建日期.
试过这个...没有工作.
如果%MinsOld%leq 1 del%"c:\ *.zip"%



Also I think I need to do the modified date as opposed to the date created.
Tried this...No Work.
if %MinsOld% leq 1 del %"c:\*.zip"%

推荐答案

可能是脚本有点复杂吗?也许您可以更简单地解决问题.看看下面的链接,了解我的意思.

http://scottelkin.com/programming/delete-files-older-than -date-using-batch-files/ [ http://www.computerhope.com/backup.htm [
Could it be you''re script is somewhat complicated? Maybe you could resolve the problem more simple. Have a look at the links below to see what I mean.

http://scottelkin.com/programming/delete-files-older-than-date-using-batch-files/[^]

http://www.computerhope.com/backup.htm[^]

Good luck!


这很不错,!!!!!!!!!!!
This works, Sublimely!!!!!!!!!!
@echo off 
setlocal 
for /f "delims=" %%b in ("%time%") do set "tm=%%b" 
set "tm=%tm:~0,5%" 
set "tm=%tm: =0%" 

for /f "tokens=2" %%b in ("%date%") do set "d8=%%b" 

set filespec=\*.zip \*.txt \*.jpg 
for /f "delims=" %%a in (' 
  dir %filespec% /a:-d /o:n /b /s') do ( 
    if "%%~ta"=="%d8% %tm%" ( 
     del "%%a" 
    ) 
  )


这篇关于批处理文件未删除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆