飞越星海 发表于 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谢谢

cxlater 发表于 2011-9-12 18:10:39

枚举scriptdir下所有exe文件的md5
挑选符合原文件的

netegg 发表于 2011-9-12 19:06:49

一起打包,释放,安装

飞越星海 发表于 2011-9-13 00:08:49

回复 2# cxlater


   好的,这个方法试下先!!!

gzh888666 发表于 2011-9-13 00:31:26

不用这样费劲吧!直接编写一个ini文件修改就行了。

飞越星海 发表于 2011-9-13 00:56:40

回复 5# gzh888666


    刚学习,不知道这个!!!能给个例子不???O(∩_∩)O谢谢

卫和谐 发表于 2011-9-13 07:09:22

论坛上搜索一下,有好多的吧!

gzh888666 发表于 2011-9-13 13:56:04

回复 6# 飞越星海


    增加ini配置文件,然后读取配置,也好修改!可以看看软件安装管理器的例子

xwt620 发表于 2011-9-13 23:32:44

个人认为还是蛋蛋的方法好

飞越星海 发表于 2011-9-14 23:16:11

个人认为还是蛋蛋的方法好
xwt620 发表于 2011-9-13 23:32 http://www.autoitx.com/images/common/back.gif


    蛋蛋,谁是蛋蛋???他有什么方法????

hzxymkb 发表于 2011-9-14 23:49:49

ini太复杂了!直接做成参数形式
比如说autosetup.exe -Fetion.exe这样子不是行咯

xwt620 发表于 2011-9-15 00:30:38

回复 10# 飞越星海


    netegg啊,他的头像很像 蛋 所以就起啦个外号叫 蛋蛋

飞越星海 发表于 2011-9-15 09:51:49

回复 12# xwt620


    哦哦,知道了,论坛里搜了一下,明白!!!呵呵

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") ;安装完了清理文件,释放空间

zw196512 发表于 2011-9-17 09:20:14

试试,学习了~~{:face (270):}
页: [1] 2
查看完整版本: 如何判断要安装的文件?(已解决)