中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 22:23
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 救急:批处理复制 跳过已有文件夹 日期换算 实时传输
可打印版本  929 / 4
第1楼 eova 发表于 2010-01-16 20:25
新手上路 发帖 3 积分 3
救急:批处理复制 跳过已有文件夹 日期换算 实时传输
文件同步复杂批处理求助 大家好,我需要一个关于复制的批处理,小弟不是很懂,请大家帮我看看,具体环境如下: AB两台计算机均为XP简体SP2,通过局域网连接,A机24小时不间断接收卫星文件,存储到W目录,其下有子目录,子目录下为接受的文件,文件名和后缀名无任何规则,诸如fxtjty019.fq5类似。 B机需要W目录中最近两天的文件。B机每天早8点开机,中午12点关机,复制A机前一天到当天12点接收的文件,并且要求传输过程中实时同步,也就是说B机开机后,A机一旦接收到新的文件,就立即复制到B机B目录中. 初步设想是通过net use命令建立映射,然后用XCOPY命令复制,但是遇到几个问题,得不到解决: 日期转换函数,如何取得前一天的日期。 如果批处理程序中途关闭,再次开始复制时如何跳过B目录已经存在的文件和文件夹,试了不少方法,重新复制的时候就直接覆盖原有文件,这样太浪费时间。 实时传输的问题。比如上午10点时B机已经将A机前一天和当天0到10点的文件(夹)复制完,那么A机接受到新的文件如何立即复制到B机。 麻烦大家给我一个批处理代码,跪求~~~~~ 我的QQ:837140508,可邮箱。恳请帮助。在线等~~~
第2楼 HAT 发表于 2010-01-17 01:05
版主 发帖 5,017 积分 9,023
参考:批处理获取指定天数之前的日期
http://www.bathome.net/thread-3330-1-1.html

跳过已有文件:
第3楼 eova 发表于 2010-01-17 12:41
新手上路 发帖 3 积分 3
Originally posted by HAT at 2010-1-17 01:05:
参考:批处理获取指定天数之前的日期
http://www.bathome.net/thread-3330-1-1.html

跳过已有文件:

版主,日期函数已解决,现在遇到一个新问题:如何用FOR 和IF NOT EXIST命令配合XCOPY命令实现复制时跳过已有文件,要不需要人工干涉的。我用这样的代码,结果是把W目录所有的文件和文件夹复制过去了,但是文件夹都是空的,文件全部存放在B目录根目录下面了啊,不知哪里错了,恳请帮我。附代码:
for /f "delims=" %%i (dir /b/s/a %W目录%') do (
if not exist %e%\%%~nxi xcopy /s/e/y/d "%%i" "B目录"
)
第4楼 lotus516 发表于 2010-01-17 14:13
高级用户 发帖 246 积分 551
xcopy 不是可以有只复制新文件么,看一下帮助嘛!
第5楼 eova 发表于 2010-01-17 15:17
新手上路 发帖 3 积分 3
请求帮忙给个代码……
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023