脚本专栏 
首页 > 脚本专栏 > 浏览文章

XCOPY只拷贝当天文件的实现代码

(编辑:jimmy 日期: 2024/12/24 浏览:3 次 )
最近由于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%


输出:

XCOPY只拷贝当天文件的实现代码

读取系统日期后截取其中的4位年变量(中国日期格式 年-月-日)
set nian=%date:~0,4$
测试
复制代码 代码如下:
echo %date:~0,4%


输出:

XCOPY只拷贝当天文件的实现代码

读取系统日期后截取其中的2位月变量
set yue=%date:~5,2%

测试:

复制代码 代码如下:
echo %date:~5,2%

输出:

XCOPY只拷贝当天文件的实现代码

读取系统日期后截取其中的2位日变量

set ri=%date:~8,2%

测试:

复制代码 代码如下:
echo %date:~8,2%


 输出:

XCOPY只拷贝当天文件的实现代码

重塑美国日期变量格式 “月-日-年”,只选择拷贝当前日期的文件

复制代码 代码如下:
xcopy \\172.22.68.4\sjk\zp\*.* e:\test /d:%yue%-%ri%-%nian%

上一篇:批处理自动打系统补丁(批量安装exe文件)
下一篇:批处理判断是否特殊字符的实现代码
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?