找回密码
 加入
搜索
查看: 4797|回复: 5

[系统综合] NCFTPPUT运行DOS CMD回显问题

[复制链接]
发表于 2012-7-24 13:24:37 | 显示全部楼层 |阅读模式
本帖最后由 kemyliu 于 2012-7-24 13:28 编辑

亲们,现在遇到一个DOS CMD回显问题,请各位大大帮忙。我的代码如下:
#include <Constants.au3>
Dim $user,$password,$ftp,$dir,$sources,$ID,$text
$user="user"
$password="pass123"
$ftp="192.168.0.3"
$dir="\VBMFolder\VBM"
$sources="H:\image\*.*"
;~ $ID=Run(@ComSpec & " /c upload.bat","",@SW_SHOW)
;~ $ID=Run(@ComSpec & " /c " &'"NCFTPPut -R -v -m -u "'&$user&'" -p "'&$password&'" "'& $ftp&'" "'&$dir&'" '&$sources&'""', "", @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
$ID=Run('NCFTPPut -R -m -u "'&$user&'" -p "'&$password&'" "'& $ftp&'" "'&$dir&'" '&$sources&'"', "", @SW_SHOW,$STDERR_CHILD + $STDOUT_CHILD)
While 1
        $text &= StdoutRead($ID)
    If @error Then ExitLoop
        MsgBox(0,"TT",$text)
        Sleep(1000)
WEnd
遇到的问题是Run()只要加了$STDERR_CHILD + $STDOUT_CHILD参数运行窗口就没有输出提示,但确定NCFTPPut是有正常运行,FTP上传文件也在正常进行;不加$STDERR_CHILD + $STDOUT_CHILD参数可以看到有输出。现在需要大家帮忙如何能实时获得NCFTPPut的输出数据。附NCFTP下载地址:
http://www.ncftp.com/download/
ftp://ftp.ncftp.com/ncftp/binaries/Setup%20NcFTP%203.2.5.msi
请各位大大帮忙!!

NcFTP:灵活的 FTP 客户端
 楼主| 发表于 2012-7-24 16:36:12 | 显示全部楼层
各位大大们,支持一下,帮忙解决一下,多谢了!
 楼主| 发表于 2012-7-25 08:44:21 | 显示全部楼层
诚恳的期待有高人出现!
发表于 2012-7-25 16:36:24 | 显示全部楼层
$Dos_script = "ncftpls.exe -u ????? -p ????? -1 ftp://192.168.11.??/./"

$foo = Run(@ComSpec & " /c " & $Dos_script, "", @SW_HIDE, $STDOUT_CHILD + $STDERR_CHILD)
ProcessWaitClose($foo)
$Out_msg = StdoutRead($foo)

msgbox(0,"$Out_msg",$Dos_script & @CRLF & $Out_msg)
 楼主| 发表于 2012-7-26 11:11:15 | 显示全部楼层
回复 4# qint
如此看来只能是等待上传完毕才可以,不能做到实时获得CMD窗口信息。
发表于 2012-7-26 21:33:27 | 显示全部楼层
au3本来可以实现NcFtp的FTP功能,这样就可实时输出每个文件的上传下载状态,而不必待所有完成后返回结果。
自动化讲求的是最后结果,过程无须人工干预。如果要人工操作查看实时进度,用一个FTP客户端操作不是更好?
主要看你要达到什么效果。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-20 12:15 , Processed in 0.084433 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表