|
robinlong
初级用户
积分 50
发帖 17
注册 2006-2-27
状态 离线
|
『楼 主』:
求助:不同服务器之间文件复制并改名成当前时间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 ]
|
|
2006-2-28 00:04 |
|
|
xxniao
初级用户
积分 66
发帖 23
注册 2006-2-27 来自 浙江
状态 离线
|
『第
2 楼』:
先说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 ]
|
|
2006-2-28 00:28 |
|
|
robinlong
初级用户
积分 50
发帖 17
注册 2006-2-27
状态 离线
|
『第
3 楼』:
谢谢xxniao
好象不能直接用copy ftp来做,用第二种方法可行,即
copy \\svr2\ftp%\pl d:\backup\文件名.txt
但我的困难就是这个文件名的名称不知如何调用变量,我试过%date%%time%不行
|
|
2006-2-28 10:42 |
|
|
xxniao
初级用户
积分 66
发帖 23
注册 2006-2-27 来自 浙江
状态 离线
|
『第
4 楼』:
晕,
第一个 ftp:\ 其实我这个指的是你文件的路径啊!!
用日期和时间的变量怎么会不行呢!!
|
|
2006-2-28 12:03 |
|
|
robinlong
初级用户
积分 50
发帖 17
注册 2006-2-27
状态 离线
|
『第
5 楼』:
不好意思, 我对dos真的不熟。
我试着做一个本地操作,如:
copy test.txt %date%%time%.txt
屏幕出一错误提示:
The syntax of the command is incorrect.
请指点,谢谢!
|
|
2006-2-28 13:33 |
|
|
robinlong
初级用户
积分 50
发帖 17
注册 2006-2-27
状态 离线
|
『第
6 楼』:
对不起,原来我少了一个定向符
我是这样做的
copy test.txt > %date%%time%.txt
成功了,非常感谢!
|
|
2006-2-28 13:44 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
7 楼』:
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"
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-3-2 16:25 |
|
|
robinlong
初级用户
积分 50
发帖 17
注册 2006-2-27
状态 离线
|
『第
8 楼』:
谢谢willsort大哥。这个方法确实可行,我得到的文件名最终如下:
Fri 2006-03-03 9-50-54.42.txt
如果我要去掉Fri和后面的毫秒.42,请问有没有方法呢?
再次致谢!
|
|
2006-3-3 10:04 |
|
|
3742668
荣誉版主
积分 2013
发帖 718
注册 2006-2-18
状态 离线
|
『第
9 楼』:
%date:~4,10%%time:~1,7%
|
|
2006-3-3 11:11 |
|
|
robinlong
初级用户
积分 50
发帖 17
注册 2006-2-27
状态 离线
|
|
2006-3-7 10:16 |
|
|
robinlong
初级用户
积分 50
发帖 17
注册 2006-2-27
状态 离线
|
『第
11 楼』:
最后我是这样做的:
%date:~4,10%-%time:~0,8%
|
|
2006-3-7 10:19 |
|