标题: [文件操作] 批处理如何按照文件中的日期压缩文件并命名? [打印本页]
作者: 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版- set "dd=%date:~,4%%date:~5,2%%date:~8,2%"
- for /f "tokens=2* delims= " %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip /v Path') do set "path=%path%;%%b"
- 7z a %dd%.zip *%dd%.bak >nul
复制代码
作者: Batcher 时间: 2018-12-22 12:56
- @echo off
- for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y%%m%%d'"') do (
- set "SysTS=%%i"
- )
- "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 - @echo off
- for /f "delims=" %%i in ('powershell -c "Get-Date (Get-Date).AddDays(-1) -UFormat '%%Y%%m%%d'"') do (
- set "SysTS=%%i"
- )
- "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://www.bathome.net/) |
Powered by Discuz! 7.2 |