刀具编号规则:请问批处理的问题

来源:百度文库 编辑:高校问答 时间:2024/05/03 02:42:37
我想删除以昨天日期命名的文件,比如现在是20060629,我要删除060628.txt 这个文本,怎么写?
del %date:~0,4%%date:~5,2%%date:~8,2%.txt 这个是删除今天日期命名的。
希望能知道我的意思。或告诉我怎么显示昨天的日期也可以了
还有一个问题,在删除文件时,会出现(Y/N)的选择,好象有一个方法可以强制执行而不用选择的,我想实现全自动

我暂时还想不到取巧的命令
只好采用笨方法
减一天容易
但是万一今天是一号
那昨天就是31号,30号,29号或者28号
这还设计到闰年和每月的不同
一个批处理做这么周全这么庞大的话真不如选择C语言了
所以我只实现下非1号的问题
到了1号的时候
你老兄不妨亲自动手
非一号的日期就直接减一
但还有问题就是
比如今天是06日
那么减后的结果是5而非05
这就打破了命名的规则
导致找不到文件
使用一个技巧
我们可以在前边加“0”

@echo off
set d=%date:~8,2%
set m=%date:~5,2%
set y=%date:~0,4%
if %d%==01 goto :EOF
set /A a=%d%-1
set a=0%a%
set a=%a:~-2%
if exist %y%%m%%a%.txt del /Q /F %y%%m%%a%.txt

del *.* /y 或
echo y > a.txt
del *.* < a.txt

思路,把今天的文件都转移备份到另一个目录下,再删除该目录所有文件,再将备份的文件移回来.