Board logo

标题: [文件操作] 批处理如何按照文件中的日期压缩文件并命名? [打印本页]

作者: ahaige90    时间: 2018-12-22 09:06     标题: 批处理如何按照文件中的日期压缩文件并命名?

请问各位大神,如何按照文件中的日期压缩文件并以对应的日期命名。比如今天是20181222日,那就把D:\mmcs20181222.bak,压缩到D:\20181222.rar  ,今天是20181223日,就把D:\mmcs20181223.bak,压缩到D:\20181223.rar,就是根据当前日期进行对应文件的压缩,并且压缩名为对应日期
作者: yhcfsr    时间: 2018-12-22 12:44

7ZIP版
  1. set "dd=%date:~,4%%date:~5,2%%date:~8,2%"
  2. for /f "tokens=2* delims= " %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip /v Path') do set "path=%path%;%%b"
  3. 7z a %dd%.zip *%dd%.bak >nul
复制代码

作者: Batcher    时间: 2018-12-22 12:56

  1. @echo off
  2. for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y%%m%%d'"') do (
  3.     set "SysTS=%%i"
  4. )
  5. "C:\Program Files\WinRAR\WinRAR.exe" a -ep -ibck "D:\%SysTS%.rar" "D:\mmcs%SysTS%.bak"
复制代码

作者: ahaige90    时间: 2018-12-23 10:33

回复 3# Batcher


    如何要备份前一天的文件应该如何做,文件mmcs20181222.bak,mmcs20181223.bak,当前日期为20181223,那我就要把mmcs20181222.bak,打包成20181222.rar,
作者: Batcher    时间: 2018-12-23 16:31

回复 4# ahaige90
  1. @echo off
  2. for /f "delims=" %%i in ('powershell -c "Get-Date (Get-Date).AddDays(-1) -UFormat '%%Y%%m%%d'"') do (
  3.     set "SysTS=%%i"
  4. )
  5. "C:\Program Files\WinRAR\WinRAR.exe" a -ep -ibck "D:\%SysTS%.rar" "D:\mmcs%SysTS%.bak"
复制代码

作者: ahaige90    时间: 2018-12-23 22:13

本帖最后由 ahaige90 于 2018-12-24 08:49 编辑

回复 5# Batcher


这个bat在server2003无法正常运行
作者: Batcher    时间: 2018-12-24 10:31

回复 6# ahaige90


看看是哪一行代码在报错

把 @echo off 删掉
代码保存为 C:\test.bat
打开一个CMD窗口,执行命令:
C:\test.bat

这样可以看到详细的报错信息或者线索
作者: ahaige90    时间: 2018-12-26 15:53

回复 7# Batcher


    C:\Documents and Settings\administrator.HMCC>c:\test.bat

C:\Documents and Settings\administrator.HMCC>for /F "delims=" %i in ('powershell
-c "Get-Date -UFormat '%Y%m%d'"') do (set "SysTS=%i" )
'powershell' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\Documents and Settings\administrator.HMCC>"C:\Program Files\WinRAR\WinRAR.exe
" a -ep -ibck "H:\SQL_bakup\ccms\mmcs_.rar" "H:\SQL_bakup\ccms\**.bak"

C:\Documents and Settings\administrator.HMCC>
作者: Batcher    时间: 2018-12-26 20:59

回复 8# ahaige90


    可能是你的2003没有PowerShell




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