XCOPY只拷贝当天文件的实现代码
程序员文章站
2022-03-07 21:04:33
最近由于mesis数据库自动站资料的事,需要从cmacast广播目录l1下将本省的区域自动站数据文件拷贝出来用于入库。在实际操作中碰到几个问题,特此做备忘录,以便以后查找。...
最近由于mesis数据库自动站资料的事,需要从cmacast广播目录l1下将本省的区域自动站数据文件拷贝出来用于入库。在实际操作中碰到几个问题,特此做备忘录,以便以后查找。
问题1:micdb指定的源目录只要有文件就处理,进库程序本省很耗资源,用pc机处理要讲究效率,最好每次只放入最新文件,以减少重复处理的情况。
问题2:cmacast广播目录l1文件太多,3天有49万多个文件,光打开目录就要读n分钟,国家局信息中心技术人员都是吃粪的。本来用sceondcopy进行拷贝功能很强大,可以实现只拷贝最新文件,但是对这个目录文件数太多,最后实现不了。(newzfile从sjk拷贝可以用secondcopy)
为解决以上2个问题,利用xcopy先将l1目录的本省自动站文件拷贝出来的,放在d:\aws\zfile里(计划任务实现),再用scondcopy将d:\aws\zfile里的最新文件拷到d:\program files\micdb\tempdata\zfile里供micdb进库时读取。
xcopy使用了 /d:mm-dd-yyyy参数,即只拷贝指定日期之后的文件,那当天日期如何生成的呢,使用了%date% 取得系统日期,如果是一般的中文xp系统,日期格式是yyyy-mm-dd,所以就用截取字符串的方式重造了美国日期格式。如:%date:~0,4% 表示截取从第0位开始截取长度4个字符从而得到yyyy(年),如:%date:~5,5% 表示截取从第5位开始截取长度5个字符从而得到mm-dd(月-日)
为了方便用户与自己浏览特将内容整理了下,方便大家学习
dos中获取系统时间的命令
echo %date%
输出:
读取系统日期后截取其中的4位年变量(中国日期格式 年-月-日)
set nian=%date:~0,4$
测试
echo %date:~0,4%
输出:
echo %date:~5,2%
echo %date:~8,2%
输出:
xcopy \\172.22.68.4\sjk\zp\*.* e:\test /d:%yue%-%ri%-%nian%
问题1:micdb指定的源目录只要有文件就处理,进库程序本省很耗资源,用pc机处理要讲究效率,最好每次只放入最新文件,以减少重复处理的情况。
问题2:cmacast广播目录l1文件太多,3天有49万多个文件,光打开目录就要读n分钟,国家局信息中心技术人员都是吃粪的。本来用sceondcopy进行拷贝功能很强大,可以实现只拷贝最新文件,但是对这个目录文件数太多,最后实现不了。(newzfile从sjk拷贝可以用secondcopy)
为解决以上2个问题,利用xcopy先将l1目录的本省自动站文件拷贝出来的,放在d:\aws\zfile里(计划任务实现),再用scondcopy将d:\aws\zfile里的最新文件拷到d:\program files\micdb\tempdata\zfile里供micdb进库时读取。
xcopy使用了 /d:mm-dd-yyyy参数,即只拷贝指定日期之后的文件,那当天日期如何生成的呢,使用了%date% 取得系统日期,如果是一般的中文xp系统,日期格式是yyyy-mm-dd,所以就用截取字符串的方式重造了美国日期格式。如:%date:~0,4% 表示截取从第0位开始截取长度4个字符从而得到yyyy(年),如:%date:~5,5% 表示截取从第5位开始截取长度5个字符从而得到mm-dd(月-日)
为了方便用户与自己浏览特将内容整理了下,方便大家学习
dos中获取系统时间的命令
复制代码 代码如下:
echo %date%
输出:
读取系统日期后截取其中的4位年变量(中国日期格式 年-月-日)
set nian=%date:~0,4$
测试
复制代码 代码如下:
echo %date:~0,4%
输出:
读取系统日期后截取其中的2位月变量
set yue=%date:~5,2%
测试:
复制代码 代码如下:
echo %date:~5,2%
输出:
读取系统日期后截取其中的2位日变量
set ri=%date:~8,2%
测试:
复制代码 代码如下:
echo %date:~8,2%
输出:
重塑美国日期变量格式 “月-日-年”,只选择拷贝当前日期的文件
复制代码 代码如下:
xcopy \\172.22.68.4\sjk\zp\*.* e:\test /d:%yue%-%ri%-%nian%
上一篇: 如何用DOS命令删除顽固文件夹啊
下一篇: bat实现的模仿黑客帝国里面的数码雨