![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-17 22:14 |
共 47,814 主题排行 / 349,907 发帖 / 今日 4 篇 / 48,259 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » 求助:不同服务器之间文件复制并改名成当前时间index= |
| 可打印版本 927 / 10 |
| 第1楼 robinlong | 发表于 2006-02-28 00:04 |
| 初级用户 发帖 17 积分 50 | |
|
求助:不同服务器之间文件复制并改名成当前时间index= 请教Willsort 和Climbing等高手:
我公司有二台服务器Svr1和Svr2,其中Svr2是FTP服务器(都是win2K),在FTP根目录下每天有一个文件PO(文件无后缀名,它每天会更新)需复制到Svr1下面的d:\backup目录下,但复制后的文件名要以当前机器时间(如:0602271012.txt,06年2月27日10时12分)为文件名, 即每次复制后的文件名都不同,这样就能留下备份。请问这个批处理应如何做? 但是不能用映射磁盘的方法(可考虑映射后待复制完后再取消映射)。可否结合ftp中的一些命令来完成? 非常感谢各位能人帮忙!!! [ Last edited by robinlong on 2006-2-28 at 00:06 ] |
|
| 第2楼 xxniao | 发表于 2006-02-28 00:28 |
| 初级用户 发帖 23 积分 66 来自 浙江 | |
|
先说svr1 copy ftp:\po d:\backup svr1%date%%time%.txt
然后SVR2也是一样从SRV2复制文件到srv1 copy \\svr2\ftp\po D:\backup srv2%date%%time%.txt 批处理这样写 @echo off copy ftp:\po d:\backup\svr1%date%%time%.txt copy \\svr2\ftp\po D:\backup\srv2%date%%time%.txt exit 不知道我理解对了没有!! [ Last edited by xxniao on 2006-2-28 at 00:29 ] |
|
| 第3楼 robinlong | 发表于 2006-02-28 10:42 |
| 初级用户 发帖 17 积分 50 | |
|
谢谢xxniao
好象不能直接用copy ftp来做,用第二种方法可行,即 copy \\svr2\ftp%\pl d:\backup\文件名.txt 但我的困难就是这个文件名的名称不知如何调用变量,我试过%date%%time%不行 |
|
| 第4楼 xxniao | 发表于 2006-02-28 12:03 |
| 初级用户 发帖 23 积分 66 来自 浙江 | |
|
晕,
第一个 ftp:\ 其实我这个指的是你文件的路径啊!! 用日期和时间的变量怎么会不行呢!! |
|
| 第5楼 robinlong | 发表于 2006-02-28 13:33 |
| 初级用户 发帖 17 积分 50 | |
|
不好意思, 我对dos真的不熟。
我试着做一个本地操作,如: copy test.txt %date%%time%.txt 屏幕出一错误提示: The syntax of the command is incorrect. 请指点,谢谢! |
|
| 第6楼 robinlong | 发表于 2006-02-28 13:44 |
| 初级用户 发帖 17 积分 50 | |
|
对不起,原来我少了一个定向符
我是这样做的 copy test.txt > %date%%time%.txt 成功了,非常感谢! |
|
| 第7楼 willsort | 发表于 2006-03-02 16:25 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re robinlong:
copy test.txt > %date%%time%.txt 的用法是达不到你的预期目标的,此句意为将当前目录下的 test.txt 拷贝到当前目录下,因为复制的源与目标相同,所以会报出“无法复制自身”的错误信息,而这个错误信息被你的 > 重定向到了 %date%%time%.txt 文件中。而同时因为 %date% 存在空格,因此只有其前半部分被识别为文件名,比如 2006-3-2/???/星期四 之类。而其后的时间以及 .txt 的扩展名都被舍弃了。 因此,你的问题应该出在 %date%%time% 这个文件名上,将它用双引号引起,似可解决问题。如下: 本地:copy test.txt "%date%%time%.txt" 服务器:copy \\svr2\ftp\po "d:\backup\%date%%time%.txt" |
|
| 第8楼 robinlong | 发表于 2006-03-03 10:04 |
| 初级用户 发帖 17 积分 50 | |
|
谢谢willsort大哥。这个方法确实可行,我得到的文件名最终如下:
Fri 2006-03-03 9-50-54.42.txt 如果我要去掉Fri和后面的毫秒.42,请问有没有方法呢? 再次致谢! |
|
| 第9楼 3742668 | 发表于 2006-03-03 11:11 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
%date:~4,10%%time:~1,7%
|
|
| 第10楼 robinlong | 发表于 2006-03-07 10:16 |
| 初级用户 发帖 17 积分 50 | |
|
谢谢楼上这位兄台!谢谢!!
|
|
| 第11楼 robinlong | 发表于 2006-03-07 10:19 |
| 初级用户 发帖 17 积分 50 | |
|
最后我是这样做的:
%date:~4,10%-%time:~0,8% |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |