bat文件 当天日期 怎么写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat文件 当天日期 怎么写?相关的知识,希望对你有一定的参考价值。
参考了这里文章 https://blog.51cto.com/heliy/1072875
范例里,上传的文件名是固定的,7z929.zip
但实际情况,文件名格式是 YYYYMMDD*.tab
请问,只想传当天日期的文件,该如果实现?
谢谢!
@echo off
for /f "tokens=1,2,3 delims=- " %%i in ('date /t') do echo %%i%%j%%k
pause
不知道运行的结果是不是达到了你所要的目的.
我刚刚开始学,让我们共同勉励.非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢! 参考技术A @echo off
for /f "tokens=2 delims==." %%a in ('wmic OS get LocalDateTime /value^|find "="') do set now=%%a
set today=%now:~0,8%
echo;%today%*.tab
pause 参考技术B set YMD=%date:~,10%
set YMD=%YMD:/=%
set YMD=%YMD:-=%
然后您调用%YMD%这个变量就可以了。追问
谢谢,但这段加到 .cfg文件中,运行会提示“无效命令”
能否提供一个完整的解答?
本人小白,不会开发,这次特殊需求才来求教大神,感谢!
%YMD%是调用的,它不能单独使用。如果直接输出日期,那么就使用(echo %YMD%)>file.cfg
linux 删除指定日期之前的文件
find . -mtime +n -type f | xargs rm -f 这个只能删除以当前时间为基准n*24小时之前的,怎么删除比如8月20日之前的文件,要求把当天日期的文件也全部删掉。
你的意思是删除某天之前的所有文件对吧?比如21号之前的文件,就是你所说的20日之前的文件,以及20日当天的文件。我没理解错吧?
我像你们一样,首先,通过find查找文件。
然后计算,文件修改日期是否在限定的日期之前,如果是,那么删除文件。
我把命令写到了bash脚本里面。
使用方法:
chmod +x ./del_file_before_that_day.sh #给文件添加执行权限
./del_file_before_that_day.sh "2013-8-21"
回车,
拖动要处理的文件夹到终端,即可完成处理。
楼主,你可以参考一下。顺便说一下,我把rm命令注释掉了,等你测试好脚本,再去除注释吧,以免因为执行环境不同,结果出偏差,给你带来损失。
#find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f ;/tmp –设置查找的目录;
-mtime +30 –设置时间为30天前;
-type f –设置查找的类型为文件;
-name *.sh[ab] –设置文件名称中包含sha或者shb;
-exec rm -f –查找完毕后执行删除操作;
提示:将此命令写入crontab后即可自动完成查找并删除的工作
另外的方法大同小异:
#find /tmp -mtime +30 -type f | xargs rm -rf 参考技术B 假如在一个目录中保留最近30天的文件,30天前的文件自动删除
#find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f \;
/tmp --设置查找的目录;
-mtime +30 --设置时间为30天前;
-type f --设置查找的类型为文件;
-name *.sh[ab] --设置文件名称中包含sha或者shb;
-exec rm -f --查找完毕后执行删除操作;
提示:将此命令写入crontab后即可自动完成查找并删除的工作
另外的方法大同小异
#find . -mtime +30 -type f | xargs rm -rf追问
这个不能按整天截取,然后删除。
#find /tmp -mtime +1 -type f -name *.sh[ab] -exec rm -f \;
删除的不是一天前的,而是以现在时间为起点,24小时的文件。这样把 整天的文件就截断了。
以上是关于bat文件 当天日期 怎么写?的主要内容,如果未能解决你的问题,请参考以下文章
bat拷贝D:\log文件夹下所有文件至D:\Logbak下自动生成以当天日期为名的文件夹下,求指教