dearmb 发表于 2011-1-6 09:44:10

如何利用fastcopy的快速copy?

本帖最后由 dearmb 于 2011-1-6 10:05 编辑

关键字fastcopy没查到什么,查到一个,是用run 运行fastcopy加参数吗?
没有什么别的代码运行吗?

现在情况是这样,在公司要拷贝的东西,文件很小,都是文本,但是文件数量很多,pc也很多,时间很长
以往都是用xcopy的bat脚本拷贝的,复制操作需要一台一台复制,很慢
听说fastcopy复制多文件很快,怎么用呢?
还有个想法是,怎样能做到同时复制多台PC,比如自定义10台,同时复制十台,拷贝完一台自动加一台拷贝
始终保持10台机器一直拷贝,直到结束
不知道怎么做,、什么多线程多进程吗?

kingfirekkk 发表于 2011-1-6 11:37:12

不明白你要实现什么样的效果,比如说:
1. 从服务器复制文件到每10台客户机?
2. 从10台客户机收集资料到服务器?
。。。还是另有其它模式?

Fastcopy的命令行模式参数介绍见以下地址:
http://www.autoitx.com/forum.php?mod=viewthread&tid=533&highlight=fastcopy

dearmb 发表于 2011-1-6 12:25:10

本帖最后由 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分钟了

都市浪子666 发表于 2011-1-6 12:58:36

你用XCOPY也可以的呀
只是你在写代码时,用RUN写 代码,不用runwait
   如果一次写50个,那就同时拷贝50

dearmb 发表于 2011-1-6 13:05:32

你用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个拷贝

kingfirekkk 发表于 2011-1-6 14:06:59

回复 5# dearmb

感觉可以使用AUTOIT的多进程技术,用来实现伪多线程....
另外,RUN函数会返回PID值,如果监视此PID存在,则不做动作,不存在则执行下一个排程中的进程...应该是可以实现的,期待高手解惑哦。。。

实现这个目标的方法不止一个,就看谁的最简单有效了。

帮顶...

都市浪子666 发表于 2011-1-6 15:56:22

回复 5# dearmb


    是可以的,白天比较忙,晚上写代码

都市浪子666 发表于 2011-1-6 19:06:22

本帖最后由 都市浪子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的

_ddqs. 发表于 2011-1-6 22:12:09


-----------------------------------------------------------

主机创建:\\IP\只读共享\镜象.bat


工作站运行:
启动文件夹中放入
\\IP\只读共享\镜象.bat 的链接
<---开机时就会运行--->

-----------------------------------------------------------
如做镜象同步也可用 Robocopy.exe (不明白怎样使用就不要动)
简单易用!
镜象时注意下目标路径(会删除源中没有的东东)!!!
-----------------------------------------------------------

_ddqs. 发表于 2011-1-6 22:21:17

这是主机同步到工作站的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
-----------------------------------------------------------

dearmb 发表于 2011-1-8 21:06:25

把要复制的目标地址操作在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就好了

bdrdc 发表于 2011-1-8 22:04:43

用这个TeraCopy,这个软件可以接管windows的粘贴复制

都市浪子666 发表于 2011-1-8 22:51:24

回复 11# dearmb



xcopy /e /i /y D:\SOHO\*.* \\192.168.131.1\E$\
如果这命令在批处理能拷贝成功,那用我那代码也能拷贝成功的,

dearmb 发表于 2011-1-9 16:45:05

回复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就那么一个帖子,唉,到底怎么用好呢……

popyoung 发表于 2011-1-9 19:44:13

回复 12# bdrdc


    这个软件速度不怎么快……
页: [1]
查看完整版本: 如何利用fastcopy的快速copy?