@echo off&setlocal enabledelayedexpansion
:: 文件的格式为yyyy-mm-dd.*
:: 以下 dz=备份文件的路径
:: ds=为预定要保留的天数 (可修改,但不要大于28)
set dz=E:\bak
set ds=3
::取当前系统日期的 年、月、日
set dy=%date:~,4%
set dm=%date:~5,2%
::处理月份带0的,比如08,09,去掉前面的0,不然
::会被认为是8进制,导致错误。
::echo 去0前的月份值=%dm%
:again
if "%dm:~0,1%"=="0" (
set dm=%dm:~1%
goto again
)
::echo 去0后的月份值=%dm%
set dd=%date:~8,2%
::处理日带0的,比如08,09,去掉前面的0,不然
::会被认为是8进制,导致错误。
::echo 去0前的day值=%dd%
:againc
if "%dd:~0,1%"=="0" (
set dd=%dd:~1%
goto againc
)
::echo 去0后的day值=%dd%
echo 当前是 %dy%-%dm%-%dd%日
::计算应该删的文件的最新日期
set /a "feb=^!(%dy%%%4)+28"
if "%dy:~2,2%" equ "00" set/a "feb=!feb!-1+^!(%dy:~,2%%%4)"
set /a "dd-=%ds%"
if %dd% leq 0 (
set n=0
set/a dm-=1
if !dm! equ 0 set/a "dy=%dy%-1,dm=0+12"
for %%a in (31 %feb% 31 30 31 30 31 31 30 31 30 31) do (
set/a n=!n!+1
if !n! equ %dm% set/a "dd=!dd!+%%a"
)
)
set /a "ymd=!dy!*10000+!dm!*100+!dd!"
echo 要删除文件的最新日期为%ymd%以前的
pause
分享到:
相关推荐
标题中的“指定日期文件批量删除工具bat”表明这个压缩包包含的是一个或多个批处理(BAT)文件,用于帮助用户批量删除特定日期的文件。在Windows操作系统中,批处理文件是一种文本文件,扩展名为.bat,它能够执行一...
DOS批处理是一种在DOS或Windows操作系统环境下执行一系列命令的文本文件,通常...通过了解这些知识点,你可以更安全、高效地使用DOS批处理自动删除7天前的文件。但请务必谨慎操作,遵循最佳实践,以保护数据的安全。
::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件。 ::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。 ::本例需要Win2003/Vista/Win7系统自带的forfiles命令的支持 如果XP需要...
总结来说,"定时删除过期文件或指定文件"涉及的技术主要包括:批处理文件编写、DOS命令使用、条件判断、循环操作、日期处理以及Windows的SCHTASKS服务。熟练掌握这些技术,可以帮助我们更好地管理和优化系统资源,...
MSDOS.SYS可以是空文件,甚至可以删除,当然此时系统只能以纯DOS方式启动,不能进入GUI系统。 不同方式形成的MSDOS.SYS默认内容不同,主要有四种,其中前三种方法形成的MSDOS.SYS文件无任何配置命令,几乎是空...
例如,使用`dir`命令查看指定目录的内容,如`dir dos`查看DOS目录。此外,用户还可以学习如何使用其他命令,如`copy`复制文件,`del`删除文件,以及`cd`改变当前目录。 总的来说,DOS是一个基础且强大的操作系统,...
6. **删除文件**:`del`或`erase`命令用于删除指定的文件。 **多任务系统** DOS本身并不支持真正的多任务并行处理,但在某些情况下,可以通过一些技巧实现简单的任务切换。例如,利用批处理文件(.bat)或一些第三...
这两个命令也是等价的,例如`DEL filename`将删除指定的文件。 8. **TYPE**:显示文本文件的内容。如果你有一个名为example.txt的文本文件,运行`TYPE example.txt`将在屏幕上显示其内容。 9. **CLS**:清屏命令,...
具体来说,它能够删除指定路径下指定天数之前的文件,这里的时间判断依据是文件的最后修改日期。通过这种方式,用户可以方便地清理不再需要的老文件。 #### 二、脚本工作原理 为了实现这一功能,脚本采用了以下步骤...
6. **DEL**:删除文件,如`del filename`会删除指定的文件。 7. **REN**:重命名文件或目录,如`ren oldname newname`将oldname更改为newname。 8. **TYPE**:显示文本文件的内容,如`type filename.txt`会打印出...
3. **DEL**:删除指定的文件。 4. **REN**:重命名文件或目录。 5. **FORMAT**:格式化磁盘,为新的数据存储做好准备。 6. **CD**/**CHDIR**:改变当前工作目录。 7. **MD**/**MKDIR**:创建新的目录。 8. **RD**/**...
1. `DEL`:删除指定的文件,例如临时文件和日志。 2. `RD` 或 `RMDIR`:删除目录,可能用于清除空的缓存文件夹。 3. `DISKCOPY`:用于创建硬盘的副本,可能用于备份系统重要部分,以防清理过程中误删。 4. `SCANDISK...
`del file.txt` 会删除指定的文件,而 `del *.txt` 则会删除当前目录下所有扩展名为“.txt”的文件。 8. **TYPE**:显示文本文件内容。`type filename.txt` 可以查看文件的内容。 9. **CLS**:清屏,清除屏幕上的...
5. `for /f` 循环遍历目录中的所有非目录文件,并按照修改时间(最新日期在前)排序。 6. `set /a file_age` 计算文件的年龄(今天的日期减去文件的最后修改日期)。 7. `if` 判断语句检查文件是否超过保留天数,...
%~tI - 将 %I 扩充到文件的日期/时间 %~zI - 将 %I 扩充到文件的大小 %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充 到找到的第一个完全合格的名称。如果环境变量 未被定义,或者没有找到文件,此组合...
6. **DEL/ERASE** - 删除文件:删除指定的文件,使用 `/F` 参数可强制删除只读文件。 7. **REN/RENAME** - 重命名文件或目录:更改文件或目录的名字。 8. **FORMAT** - 格式化磁盘:初始化磁盘,清除所有数据,...
7. **DEL/ERASE**:删除指定的文件。 8. **FORMAT**:格式化磁盘,准备数据存储。 9. **TYPE**:显示文本文件的内容。 10. **CLS**:清空屏幕。 11. **HELP**:提供关于DOS命令的简要帮助信息。 12. **DATE**:查看...
在DOS中,每个文件都有一个与之关联的目录项,其中包含了文件名、创建日期、访问时间等信息,还包括文件的属性。文件属性包括只读(R)、隐藏(H)、系统(S)和存档(A)。这些属性可以通过某些命令或者程序进行...
4. **del**:删除指定的文件。在开发过程中,如果需要清理不再需要的临时文件或旧版本,这个命令非常实用。 5. **type**:显示文本文件的内容。在查看编译后的C++程序的错误日志或阅读配置文件时,可以用这个命令。...
在批处理文件`delbak.bat`中,我们可以假设它包含了删除指定目录下除最近几天文件之外的所有文件的命令。这个功能在数据备份、日志管理和系统维护中非常实用,可以帮助用户保持硬盘的整洁和高效运行。 批处理文件的...