找回密码
 加入
搜索
查看: 3045|回复: 9

[AU3基础] [已解决]如何判断软件版本号的高与底

  [复制链接]
发表于 2016-4-19 12:25:21 | 显示全部楼层 |阅读模式
本帖最后由 dnvplj 于 2016-4-21 10:32 编辑

当前Soft文件夹下:有一个“1.exe”可执行软件,版本号为:2012;还有一个“11.TXT”文本文件(里面的内容只有:“2013”这一行数字)。
请问各位朋友:1、如何判断2013比2012版本高,如果高就执行下载,否则:提示”退出“,2、如果2个版本号都是2012就提示:当前以是最高版本。
发表于 2016-4-19 13:23:51 | 显示全部楼层
判断高低多麻烦  2则不一样就升级这样简单点
发表于 2016-4-19 14:41:55 | 显示全部楼层
回复 1# dnvplj


    中级会员都不好好阅读帮助文件! 给你点示例代码吧.

Global $filePath=@SystemDir&"\ntdll.dll"
Global $nameArray[12]=["Comments", _                ;(注释)
                                        "InternalName", _                ;(内部名称)
                                        "ProductName", _                ;(产品名称)
                                        "CompanyName", _                ;(公司名称)
                                        "LegalCopyright", _                ;(法律版权)
                                        "ProductVersion", _                ;(产品版本)
                                        "FileDescription", _        ;(文件说明)
                                        "LegalTrademarks", _        ;(法律商标)
                                        "PrivateBuild", _                ;(专用编译)
                                        "FileVersion", _                ;(文件版本)
                                        "OriginalFilename", _        ;(原始文件名)
                                        "SpecialBuild"]                        ;(特别编译)

For $i = 0 To UBound($nameArray)-1
        Local $tempStr=FileGetVersion($filePath,$nameArray[$i])
        If $tempStr<>"" Then ConsoleWrite($nameArray[$i]&@TAB&$tempStr&@CRLF)
Next

Local $fileVersion=FileGetVersion($filePath,"FileVersion")
MsgBox(0,0,$fileVersion)


评分

参与人数 1金钱 +16 收起 理由
zghwelcome + 16 学习了

查看全部评分

发表于 2016-4-19 14:56:10 | 显示全部楼层
有学了一招~
 楼主| 发表于 2016-4-20 09:47:41 | 显示全部楼层
回复 3# lanfengc
只是在论坛时间长了,不代表什么,没看明白2个文件是怎么对比的,能详解一下吗?
发表于 2016-4-20 10:28:56 | 显示全部楼层
回复 5# dnvplj

是我的理解有問題嗎??

1、如何判断2013比2012版本高,如果高就执行下载

不就是 IF  目前版本 > 最新版本    2013 跟 2012 不能比大小嗎??
 楼主| 发表于 2016-4-20 19:01:05 | 显示全部楼层
回复 6# kk_lee69
是呀,怎么读取“2013”和“2012”进行判断呢。
发表于 2016-4-21 09:10:24 | 显示全部楼层
回复 7# dnvplj

3樓的  lanfengc   不是給了一個方法??
发表于 2016-4-21 09:32:11 | 显示全部楼层
回复 7# dnvplj


    读取网络txt文件:
$url_up="ftp://test:test@192.168.1.254/New.txt"
$dData = InetRead($url_up,1)
$sData = BinaryToString($dData)

读取本exe文件版本
$ver = FileGetVersion(@AutoItExe)

2者比较
if $sData<>'' and StringInStr($sData,$ver)=0 then
Local $r=msgbox(262144+4,'检测到新版本','是否立即更新?',10)
if $r<>7 then
FileDelete(@AutoItExe&'.bak')
Run('cmd /k ren ' & '"'&@AutoItExe&'"' & ' ' &@ScriptName&'.bak','',@SW_HIDE)
while FileExists(@AutoItExe)
sleep(100)
wend
InetGet("ftp://test:test@192.168.1.254/AAA.exe",@AutoItExe,1)
do
sleep(100)
until FileExists(@AutoItExe)
run(@AutoItExe)
endif
 楼主| 发表于 2016-4-21 10:31:25 | 显示全部楼层
感谢楼上几位朋友的回复,问题解决了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-26 09:36 , Processed in 0.081621 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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