标题: [文件操作] [已解决]批处理命令robocopy如何复制包含指定字符的文件 [打印本页]
作者: dyj545 时间: 2014-11-12 09:27 标题: [已解决]批处理命令robocopy如何复制包含指定字符的文件
@echo off
robocopy "E:\program\test" "\\10.10.10.10\\test" /s *.xlsx /e
pause
以上表示拷贝文件类型是XLSX的文件. 我的文件名是这样的:
OC110_2014_11_08_文件.xlsx
OC110_2014_11_09_文件.xlsx
OC110_2014_11_10_文件.xlsx
OC110_2014_11_11_文件.xlsx
OC110_2014_11_12_文件.xlsx
我想只复制今天生成的文件,也就是"OC110_2014_11_12_文件.xlsx"跳过其他文件.
正常来说ROBOCOPY会自动跳过重复.但是我不知道为什么每次都会复制重复的文件.
所以想通过其他方法限定只复制文件名日期当天的文件.
也就是 包含"2014_11_12"的文件.明天13号会复制"2014_11_13"的文件
因对批处理的名称,日期类获取和处理不熟悉,请大家如果有教程能否给个链接.
作者: DAIC 时间: 2014-11-12 10:42
打开一个CMD窗口,执行命令:
echo %date%
把结果发出来看看
作者: dyj545 时间: 2014-11-12 11:24
C:\Users\Administrator>echo %date%
2014/11/12 周三
2014/11/12 09:10 <DIR> .
2014/11/12 09:10 <DIR> ..
2014/11/12 10:01 179,180 OC110不_2014_11_09_上传ERP.xlsx
2014/11/12 09:10 179,130 OC110不_2014_11_10_上传ERP.xlsx
2014/11/12 09:10 179,130 OC110不_2014_11_11_上传ERP.xlsx
2014/11/12 09:09 179,130 OC110不_2014_11_12_上传ERP.xlsx
4 个文件 716,570 字节
2 个目录 91,426,889,728 可用字节
作者: dyj545 时间: 2014-11-12 11:26
本帖最后由 dyj545 于 2014-11-12 11:27 编辑
我刚才试了一下,增加/MAXAGE:1 就是排除大于存在1天的文件.这样也能实现.
如果不用/MAXAGE:1能否从文件名中取到日期.
@echo off
robocopy "E:\program\test" "\\10.10.10.249\db_backup\test" /s *.xlsx /MAXAGE:1 /e
pause
作者: xxpinqz 时间: 2014-11-12 12:00
/MAXAGE
指修改时间,非创建时间。
你自己先要确认好用修改时间呢还是创建时间
本机与文件名日期可以这样:- @echo off
- for /f "tokens=1-3 delims=/ " %%a in ("%date%") do (
- echo %%a_%%b_%%c
- )
- pause
复制代码
作者: nnszuo 时间: 2014-11-12 12:16
robocopy是第三方工具吗?
作者: DAIC 时间: 2014-11-12 12:24
回复 6# nnszuo
是Win7系统自带的。XP系统没有这个命令
作者: DAIC 时间: 2014-11-12 12:27
回复 3# dyj545
robocopy "E:\program\test" "\\10.10.10.10\\test" /s *%date:~0,4%_%date:~5,2%_%date:~8,2%*.xlsx /e
作者: dyj545 时间: 2014-11-12 12:27
回复 5# xxpinqz
我要用创建时间,谢谢
作者: dyj545 时间: 2014-11-12 12:29
回复 8# DAIC
恩恩,这是我想要的.我就是不会写中间的日期获取格式.谢谢.
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |