今天在做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
这样就实现了批处理自动将分公司每天传上来的昨天的交易数据进行解压的目的。
添加新评论0 条评论