如何利用fastcopy的快速copy?
本帖最后由 dearmb 于 2011-1-6 10:05 编辑关键字fastcopy没查到什么,查到一个,是用run 运行fastcopy加参数吗?
没有什么别的代码运行吗?
现在情况是这样,在公司要拷贝的东西,文件很小,都是文本,但是文件数量很多,pc也很多,时间很长
以往都是用xcopy的bat脚本拷贝的,复制操作需要一台一台复制,很慢
听说fastcopy复制多文件很快,怎么用呢?
还有个想法是,怎样能做到同时复制多台PC,比如自定义10台,同时复制十台,拷贝完一台自动加一台拷贝
始终保持10台机器一直拷贝,直到结束
不知道怎么做,、什么多线程多进程吗? 不明白你要实现什么样的效果,比如说:
1. 从服务器复制文件到每10台客户机?
2. 从10台客户机收集资料到服务器?
。。。还是另有其它模式?
Fastcopy的命令行模式参数介绍见以下地址:
http://www.autoitx.com/forum.php?mod=viewthread&tid=533&highlight=fastcopy 本帖最后由 dearmb 于 2011-1-6 12:26 编辑
不明白你要实现什么样的效果,比如说:
1. 从服务器复制文件到每10台客户机?
2. 从10台客户机收集资料到 ...
kingfirekkk 发表于 2011-1-6 11:37 http://autoitx.com/images/common/back.gif
可以算作第一个吧,举个例子:现在我用的方法是制作bat拷贝
xcopy /e /i /y D:\SOHO\*.* \\192.168.131.1\E$\
xcopy /e /i /y D:\SOHO\*.* \\192.168.131.2\E$\
……
xcopy /e /i /y D:\SOHO\*.* \\192.168.131.200E$\
拷贝完.1才能拷贝.2,之后.3,然后拷贝.4……直到200,比如一台需要一分钟,200台需要200分钟
如果电脑够强悍的话,能做到同时拷贝1-50,那么拷贝这200台只需要4分钟了 你用XCOPY也可以的呀
只是你在写代码时,用RUN写 代码,不用runwait
如果一次写50个,那就同时拷贝50 你用XCOPY也可以的呀
只是你在写代码时,用RUN写 代码,不用runwait
如果一次写50个,那就同时拷贝5 ...
都市浪子666 发表于 2011-1-6 12:58 http://autoitx.com/images/common/back.gif
是,直接bat把200个IP分开也可以,但是都需要手动分多麻烦啊
而且这么做的话,只能完全拷贝完50个,再拷贝下50个吧
我的意思是,能不能做到拷贝结束N个,后边的IP地址就有N个顶上去,保持同时50个拷贝 回复 5# dearmb
感觉可以使用AUTOIT的多进程技术,用来实现伪多线程....
另外,RUN函数会返回PID值,如果监视此PID存在,则不做动作,不存在则执行下一个排程中的进程...应该是可以实现的,期待高手解惑哦。。。
实现这个目标的方法不止一个,就看谁的最简单有效了。
帮顶... 回复 5# dearmb
是可以的,白天比较忙,晚上写代码 本帖最后由 都市浪子666 于 2011-1-6 19:13 编辑
ProcessClose("xcopy.exe")
$file = FileOpen("list.txt", 0)
If $file = -1 Then
MsgBox(0, "错误", "不能打开文件.")
Exit
EndIf
While 1
Sleep(10)
$proces_sum=ProcessList ( "xcopy.exe" ); 读取xcopy.exe 的进程数组
if $proces_sum < 50 Then; 如果少于50个 xcopy.exe 进程 则再读取--运行
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
Run('xcopy /e /i /y D:\SOHO\*.* "' &$line & '"' , @ScriptDir ,@SW_SHOW)
EndIf
Wend
FileClose($file)
Exit
把要复制的目标地址操作在list.TXT文件里,如下
\\192.168.131.1\E$\
\\192.168.131.2\E$\
……
\\192.168.131.200E$\
这样应该可以的,本人测试了,操作系统是XPSP2的
-----------------------------------------------------------
主机创建:\\IP\只读共享\镜象.bat
工作站运行:
启动文件夹中放入
\\IP\只读共享\镜象.bat 的链接
<---开机时就会运行--->
-----------------------------------------------------------
如做镜象同步也可用 Robocopy.exe (不明白怎样使用就不要动)
简单易用!
镜象时注意下目标路径(会删除源中没有的东东)!!!
-----------------------------------------------------------
这是主机同步到工作站的BATCH脚本@SET "PRG=QQ.exe"
@SET "SRC=\\192.168.0.108\e$\Program Files\Tencent\QQ"
@SET "DST=E:\Program Files\Tencent\QQ"&
@IF NOT EXIST "%SRC%\." GOTO:EOF
@IF "%TITLE%"=="" (CMDOW.EXE @ /DIS /HID)
IF "%HID%"=="HID" (
@REM 原窗运行
@CALL RoBoCopy.exe "%SRC%" "%DST%" /MIR
) ELSE (
@REM 弹窗运行
@CALL start "%TITLE%正在更新" /wait cmd.exe /c "CMDOW.EXE "%TITLE%正在更新" /DIS /MOV 120 0 &CMDOW.EXE @ /DIS &mode con: cols=96 lines=8 &color f0 &RoBoCopy.exe "%SRC%" "%DST%" /MIR "
)
@IF "%TITLE%"=="" IF "%HID%"=="" (CD /D "%DST%\Bin" &START %PRG%)
!
镜象只需要1个参数即可
-----------------------------------------------------------
RoBoCopy.exe "%SRC%" "%DST%" /MIR
----------------------------------------------------------- 把要复制的目标地址操作在list.TXT文件里,如下
\\192.168.131.1\E$\
\\192.168.131.2\E$\
…… ...
都市浪子666 发表于 2011-1-6 19:06 http://www.autoitx.com/images/common/back.gif
感觉改一改应该适合我用,但是有个问题,用xcopy怎么能确认是否拷贝成功呢?
如果要是能用dircopy就好了 用这个TeraCopy,这个软件可以接管windows的粘贴复制 回复 11# dearmb
xcopy /e /i /y D:\SOHO\*.* \\192.168.131.1\E$\
如果这命令在批处理能拷贝成功,那用我那代码也能拷贝成功的, 回复dearmb
xcopy /e /i /y D:\SOHO\*.* \\192.168.131.1\E$\
如果这命令在批处理能拷贝成功,那 ...
都市浪子666 发表于 2011-1-8 22:51 http://autoitx.com/images/common/back.gif
恩,我明白,但是在实际用的时候,可能会有1000多台电脑进行拷贝操作,难免有某台机器关机了,网线掉了……等等故障致使拷贝失败,如果没有日志的话,挺难搞的,能不能做到呀?谢谢,好像fastcopy有日志,但是搜索fastcopy就那么一个帖子,唉,到底怎么用好呢…… 回复 12# bdrdc
这个软件速度不怎么快……
页:
[1]