风影子
作者风影子·2012-09-19 00:01
数据库管理员·深圳

DOS下解压缩ZIP文件-续

字数 698阅读 1385评论 0赞 0
    今天在做DOS下自动解压分公司上传上来的交易文件时碰到一个问题,因为交易文件中的文件名中日期部分是变化的,且今天传过来的是昨天的数据,文件名中日期部分也是昨天的,如今天是2012年9月18日,但传上来的文件名为GXHJXDB20120917.dmp._sa.zip,其中日期部分实际为昨天的日期。平时我们设置的DOS环境变量都是字符串,DOS环境变量中如何让日期部分减一呢,也就是如何实现数据型的字符串参与数学运算呢?通过查找终于找到了方法,可以用set /a来实现,完整的自动解压批处理文件如下
@echo off
set year=%date:~0,4%
set month=%date:~5,2%
set /a day=%date:~8,2%-1
set yesterday= %year%%month%%day%
unzip.exe GXHJXDB%yesterday:~1,9%.dmp._sa.zip -d D:dbbackupimpdata
@echo on
 
    这样就实现了批处理自动将分公司每天传上来的昨天的交易数据进行解压的目的。
 
参考:DOS中SET命令的详细用法
http://www.cnblogs.com/21dacia/articles/1185309.html
 
 

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广