中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]用批处理实现拷贝指定文件到别的计算机上指定文件夹
作者:
标题: [求助]用批处理实现拷贝指定文件到别的计算机上指定文件夹 上一主题 | 下一主题
zaijianbujian
新手上路





积分 12
发帖 4
注册 2006-6-9
状态 离线
『楼 主』:  [求助]用批处理实现拷贝指定文件到别的计算机上指定文件夹

A计算矶有个org文件夹共享,其中每天18:00定时形成"X+当前系统日期+S.txt"文件(例如X060609S.txt)。现在想于每天20:00左右把当天形成的文件拷贝到B计算机的共享文件夹bak中去。A和B计算机都是2000系统。
原来的想法通过建立一个 move F:\org\*.* \\B\bak\的批处理。然后在A上面执行该批处理的计划任务,可是这样做org文件夹里面的文件都没有了,我只想当天拷贝当天的,不剪切移动。诚挚请求各位大虾告知!谢谢了!!

2006-6-9 14:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bagpipe
银牌会员

DOS联盟捡破烂的


积分 1144
发帖 425
注册 2005-10-20
来自 北京
状态 离线
『第 2 楼』:  

这段代码我只是粗糙的写了一下,可能出现问题,你先试试吧,哪里了出了问题你在发帖就可以了,没有经过测试,取得日期是WIN2000系统


@echo off
set a=
for /f "tokens=2,3,4 delims=- " %%a in ("%date%") do set a=%%a%%b%%c
at \\A 20:00 ""copy F:\org\x%a:~2% \\B\bak\""

2006-6-9 15:21
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
bagpipe
银牌会员

DOS联盟捡破烂的


积分 1144
发帖 425
注册 2005-10-20
来自 北京
状态 离线
『第 3 楼』:  

将上句at \\A 20:00 ""copy F:\org\x%a:~2% \\B\bak\""改成
at \\A 20:00 ""copy F:\org\x%a:~2%s.txt \\B\bak\""

2006-6-9 15:23
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
zaijianbujian
新手上路





积分 12
发帖 4
注册 2006-6-9
状态 离线
『第 4 楼』:  

谢谢bagpipe大侠答复!可是不行。AB计算机没有任何反应。可能是date的问题。

2006-6-9 15:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bagpipe
银牌会员

DOS联盟捡破烂的


积分 1144
发帖 425
注册 2005-10-20
来自 北京
状态 离线
『第 5 楼』:  

呵呵,你运行完毕后,在CMD下执行AT回车,看看有没有定时执行的任务,如果有那就得等到晚上8点钟才会COPY过去呢,如果没有说明有的地方执行错误了,时间和日期跟你的说明一样,你在仔细看看,x060609s.txt我是按照这个来处理的

2006-6-9 16:25
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
zaijianbujian
新手上路





积分 12
发帖 4
注册 2006-6-9
状态 离线
『第 6 楼』:  

谢谢。我在cmd下面运行了at命令。有任务。而且命令行显示的也是正确命令,的确是copy x060609s.txt。我现在不十分理解的是
“set a=
for /f "tokens=2,3,4 delims=- " %%a in ("%date%") do set a=%%a%%b%%c”这个命令中的tokens=2,3,4什么意思,看windows的帮助也是看的一头雾水。
是不是和060609这个日期有关啊。如果想取得20060609是不是又应该又变化了。有时间的话,是否能帮忙解答一下。谢谢!!

2006-6-9 17:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zaijianbujian
新手上路





积分 12
发帖 4
注册 2006-6-9
状态 离线
『第 7 楼』:  

试验了好多次后:
把命令中的“at 几点”和后面的两对“”去掉了后
set a=
for /f "tokens=2,3,4 delims=- " %%a in ("%date%") do set a=%%a%%b%%c
copy F:\org\x%a:~2%s.txt \\B\bak\
保存一个1.bat文件.在cmd下面运行后命令成功执行。
如果加上at几点自动运行后,在cmd下面用at命令后看“状态ID”显示是错误的。不知道什么原因。我现在是用windows的计划任务加载1.bat运行,实现了要求,就是有点遗憾没有用上at。
通过修改“%a:~2%s.txt ” 中的2为3后明白了是在字符窜中从第3位开始取字符得意思。多多试验。打扰bagpipe大侠了。
再次表示感谢!!

[ Last edited by zaijianbujian on 2006-6-9 at 17:39 ]

2006-6-9 17:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: