找回密码
 加入
搜索
查看: 8666|回复: 17

[AU3基础] 如何判断要安装的文件?(已解决)

 火.. [复制链接]
发表于 2011-9-12 18:06:44 | 显示全部楼层 |阅读模式
本帖最后由 飞越星海 于 2011-9-18 22:11 编辑

14楼的方法是现成的了利用的是FileInstall()这个函数,自己弄个用MD5判断的(不过还有很多问题没有解决,因此,你们知道的,呵呵、、、) 还有其他的很多很多的方法,
netegg的一起打包释放,gzh888666的用ini文件的方法,等等、、、、

在这里感谢各位的帮助与支持!!虽然自己不是个专业的,但也学得很快乐!!!

这是我自己写的一个自动安装飞信2011的脚本程序!
$title="飞信2011 安装"
Run("Fetionbeta_4.5.900.0.exe")
WinWait($title,"这个向导将指引您完成“飞信2011 Beta·夏花”的安装进程")
WinActivate($title,"自定义安装")
ControlClick($title,"自定义安装","Button5")

WinWait($title,"选择安装位置")
WinActivate($title,"选择“飞信2011”的安装文件夹。")
ControlSetText ( $title,"C:\Program Files\China Mobile\Fetion", "Edit1", "D:\Program Files\China Mobile\Fetion")
Sleep("100")
ControlClick($title,"添加桌面快捷方式","Button6")
Sleep("100")

ControlClick($title,"添加快速启动栏快捷方式","Button7")
Sleep("100")
ControlClick($title,"下一步","Button2")
Sleep("100")

WinWait($title,"选择个人文件夹(用于保存消息记录等数据)的保存位置")
WinActivate($title,"自定义")
ControlClick($title,"自定义","Button5")
Sleep("100")

ControlSetText($title,"d:\我的文档\Fetion","Edit2","F:\聊天资料保存")
Sleep("100")
ControlClick($title,"安装","Button2")
可是问题来了,如果我把原来的飞信的文件名字改了,那么这个脚本不就是不能识别了嚒??? 用run()函数,运行的程序不能是不具体的名字,那么我就想了,要确保脚本可以识别想要安装的那个文件呢,我是否可以弄个检测,先检测一下是否改变文件名,或是有没有类似的文件名的文件存在呢?

最后,我的意思就是检测有没有一个类似文件名(这个文件名指run 函数里指定了的文件名)的文件存在!例如:我脚本中运行的是:Fetionbeta_4.5.900.0.exe 那么我就要检测一下有没有文件名为Fetion.exe 或是Fetionbeta.exe ,之类的!!!

O(∩_∩)O谢谢
发表于 2011-9-12 18:10:39 | 显示全部楼层
枚举scriptdir下所有exe文件的md5
挑选符合原文件的
发表于 2011-9-12 19:06:49 | 显示全部楼层
一起打包,释放,安装
 楼主| 发表于 2011-9-13 00:08:49 | 显示全部楼层
回复 2# cxlater


   好的,这个方法试下先!!!
发表于 2011-9-13 00:31:26 | 显示全部楼层
不用这样费劲吧!直接编写一个ini文件修改就行了。
 楼主| 发表于 2011-9-13 00:56:40 | 显示全部楼层
回复 5# gzh888666


    刚学习,不知道这个!!!能给个例子不???O(∩_∩)O谢谢
发表于 2011-9-13 07:09:22 | 显示全部楼层
论坛上搜索一下,有好多的吧!
发表于 2011-9-13 13:56:04 | 显示全部楼层
回复 6# 飞越星海


    增加ini配置文件,然后读取配置,也好修改!可以看看软件安装管理器的例子
发表于 2011-9-13 23:32:44 | 显示全部楼层
个人认为还是蛋蛋的方法好
 楼主| 发表于 2011-9-14 23:16:11 | 显示全部楼层
个人认为还是蛋蛋的方法好
xwt620 发表于 2011-9-13 23:32



    蛋蛋,谁是蛋蛋???他有什么方法????
发表于 2011-9-14 23:49:49 | 显示全部楼层
ini太复杂了!直接做成参数形式
比如说autosetup.exe -Fetion.exe这样子不是行咯
发表于 2011-9-15 00:30:38 | 显示全部楼层
回复 10# 飞越星海


    netegg啊,他的头像很像 蛋 所以就起啦个外号叫 蛋蛋
 楼主| 发表于 2011-9-15 09:51:49 | 显示全部楼层
回复 12# xwt620


    哦哦,知道了,论坛里搜了一下,明白!!!呵呵
发表于 2011-9-15 12:13:35 | 显示全部楼层
$title="飞信2011 安装"
FileInstall ( "Fetionbeta_4.5.900.0.exe", @TempDir & "\Fetionbeta_4.5.900.0.exe" ) ;这里加了fileinstall,编译后文件就打包在一起了,这样可以防止改名后无法找到安装程序
Run("%temp%/Fetionbeta_4.5.900.0.exe")
WinWait($title,"这个向导将指引您完成“飞信2011 Beta·夏花”的安装进程")
WinActivate($title,"自定义安装")
ControlClick($title,"自定义安装","Button5")

WinWait($title,"选择安装位置")
WinActivate($title,"选择“飞信2011”的安装文件夹。")
ControlSetText ( $title,"C:\Program Files\China Mobile\Fetion", "Edit1", "D:\Program Files\China Mobile\Fetion")
Sleep("100")
ControlClick($title,"添加桌面快捷方式","Button6")
Sleep("100")

ControlClick($title,"添加快速启动栏快捷方式","Button7")
Sleep("100")
ControlClick($title,"下一步","Button2")
Sleep("100")

WinWait($title,"选择个人文件夹(用于保存消息记录等数据)的保存位置")
WinActivate($title,"自定义")
ControlClick($title,"自定义","Button5")
Sleep("100")

ControlSetText($title,"d:\我的文档\Fetion","Edit2","F:\聊天资料保存")
Sleep("100")
ControlClick($title,"安装","Button2")

FileDelete (@TempDir & "\Fetionbeta_4.5.900.0.exe"  ) ;安装完了清理文件,释放空间
发表于 2011-9-17 09:20:14 | 显示全部楼层
试试,学习了~~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 22:27 , Processed in 0.102819 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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