Board logo

标题: [日期时间] 请问:批处理如何实现文件打包及按日期命名? [打印本页]

作者: nintendoww    时间: 2012-12-3 09:14     标题: 请问:批处理如何实现文件打包及按日期命名?

我想把文件夹里面的TXT、DOC文件打包压缩,并且按照头一天的日期命名,请问该怎么处理,尤其是怎么按照前一天的日期命名?多谢各位
作者: BAT-VBS    时间: 2012-12-3 14:45

你是打算用WinRAR吗?
作者: wjx515    时间: 2012-12-3 14:55

本帖最后由 wjx515 于 2012-12-3 14:58 编辑

取前一天日期
  1. @echo off
  2. ::需要调用VBS
  3. rem 指定天数
  4. set DaysAgo=1
  5. >"%temp%\MyDate.vbs" echo LastDate=date()-%DaysAgo%
  6. >>"%temp%\MyDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
  7. >>"%temp%\MyDate.vbs" echo wscript.echo FmtDate
  8. for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do (
  9. set DstDate=%%a
  10. )
  11. echo %DstDate%
  12. pause
复制代码

作者: nintendoww    时间: 2012-12-3 15:58

是,是用RAR,里面有一些命令可以用,但是我就是不会命名为前一天,只会命名为今天
作者: BAT-VBS    时间: 2012-12-3 16:54

回复 4# nintendoww


    3楼已经告诉你怎样获得昨天的日期了
作者: namejm    时间: 2012-12-3 17:15

  1. @echo off
  2. for /f %%i in ('tad32.exe -1d -f$Y$0m$0d') do set yDay=%%i
  3. rar.exe a -n*.txt -n*.doc %yDay%.rar
  4. pause
复制代码
需要命令行工具 rar.exe 和 tad32.exe
rar.exe 估计你可以从WinRAR的安装目录中提取出来
tad32.exe 需要从网上下载,官方网站在这里:http://tad.adoxa.cjb.net/
作者: nintendoww    时间: 2012-12-4 09:04

回复  nintendoww


    3楼已经告诉你怎样获得昨天的日期了
BAT-VBS 发表于 2012-12-3 16:54



    谢谢你们的帮助,谢谢3楼的

但是,我是这方面的小白,前一天的日期是提取出来了,怎么结合RAR,命名到压缩包名字里面去

我现在用的批处理语句是
"C:\Program Files\WinRAR\WinRAR.exe" a -tn21h -o+ -r -rr10p -t -x*.bat -m5 -ag+YYYY-MM-DD- 工作日志
PAUSE
作者: BAT-VBS    时间: 2012-12-5 10:28

回复 7# nintendoww
  1. @echo off
  2. set DaysAgo=1
  3. >"%temp%\MyDate.vbs" echo LastDate=date()-%DaysAgo%
  4. >>"%temp%\MyDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
  5. >>"%temp%\MyDate.vbs" echo wscript.echo FmtDate
  6. for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do (
  7.     set DstDate=%%a
  8. )
  9. "C:\Program Files\WinRAR\WinRAR.exe" a %DstDate%.rar test.txt
复制代码





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