中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: vbs实现自动FTP问题? 上一主题 | 下一主题
vcstone
初级用户





积分 98
发帖 39
注册 2007-3-16
状态 离线
『楼 主』:  vbs实现自动FTP问题?

环境:xp sp2 或2K3
现状况:自己已经乱乱的写了一个,调动cmd然后再FTP的.用sendkeys实现自动输入.
      (程序文件夹中有kk.mdb,cmd.bat--里面调用cmd.exe,AutoFTP.vbs)
希望实现:用vbs实现自动登陆FTP并上传文件;脚本有没有直接FTP的方法不用调用cmd,不太希望有弹出窗口,因为更新时仍进行其它操作,焦点一变sendkeys就失效了.

  Quote:
dim auto
dim fso
dim name
dim date
dim last
Dim ts,i,one,two,three
one=5
two=0
three=5
name=trim(inputbox("请输入需要升级的机器IP地址的最后一位,如:236","程序运行时请勿进行其它操作,谢谢!"))
set auto=createobject("wscript.shell")
Set fso = CreateObject("Scripting.FileSystemObject")
do until fso.fileexists("kk.mdb")
msgbox "没找到kk.mdb文件,你改好名了吗?"
wscript.sleep 4000
loop
app_window=auto.run ("cmd.bat")
wscript.sleep 400
auto.AppActivate app_window
wscript.sleep 200
auto.SendKeys "ftp 192.168.1."
wscript.sleep 300
auto.SendKeys name
wscript.sleep 300
auto.SendKeys " >c:\windows\ftp.txt"
wscript.sleep 300
auto.SendKeys "{enter}"
wscript.sleep 2000
Do While Not i=1
Set ts=fso.opentextfile("c:\windows\ftp.txt")
Do While Not ts.AtEndOfStream
  data=trim(ts.readline)
  If instr(data,"ready") Then
  auto.AppActivate app_window
  auto.SendKeys "anonymous"
  wscript.sleep 300
  auto.SendKeys "{enter}"
  wscript.sleep 300
  auto.SendKeys "dd"
  wscript.sleep 300
  auto.SendKeys "{enter}"
  wscript.sleep 500
  auto.SendKeys "put kk.mdb"
  auto.SendKeys "{enter}"
  i=1
  Exit Do
  End If
  one=one-1
  if one=0 then
  msgbox "连接失败,请检查设置和网络..程序即将退出!"
  wscript.sleep 300
  wscript.quit
  end if
loop
Set ts = nothing
set fso = nothing
wscript.sleep 300
loop
set wshshell = CreateObject("WScript.Shell")
timeout = 3
result = wshshell.Popup("系统升级进行中....", timeout, "请稍后", vbExclamation)
wscript.sleep 15000
Do While Not i=2
Set fso = CreateObject("Scripting.FileSystemObject")
Set last=fso.opentextfile("c:\windows\ftp.txt")
Do While Not last.AtEndOfStream
  data=trim(last.readline)
  If instr(data,"bytes") Then
  msgbox "更新完成,请重启机器!"
  wscript.sleep 200
  auto.AppActivate app_window  
  auto.SendKeys "bye"
  wscript.sleep 200
  auto.SendKeys "{enter}"
  i=2
  Exit Do
  End If
  wscript.sleep 3000
  two=two+1
   if two>=30 then
    msgbox "网络连接相当缓慢,请重新运行升级程序!"
    wscript.quit
    end if
loop
Set last = nothing
Set fso = nothing
loop



2007-12-7 13:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 2 楼』:  

ftp.exe 就可以,为什么要用sendkeys

2007-12-7 17:13
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
b31b6t2t4
初级用户





积分 28
发帖 13
注册 2009-9-19
状态 离线
『第 3 楼』:  

受教了非常感谢

2009-10-9 09:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 4 楼』:  

神人VKILL忽现,膜拜




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-10-9 11:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  

07年的坟也要挖?



2009-10-9 11:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 6 楼』:  

倒,我也上当了




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-10-9 12:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 7 楼』:  

你还说忽现来着……

挖坟这个词谁创的,真的很难听。



综合型编程论坛

我的作品索引
  
2009-10-9 19:38
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: