[已解决]带参数运行的程序,无法读取配置文件
本帖最后由 bhffhzh 于 2017-8-3 16:01 编辑If $CMDLINE <> 0 Then
If $CMDLINE = "start" Then
$strConfigINI = @ScriptDir & "\IPMonConfig.ini"
$SmtpServer = IniRead($strConfigINI, "MailConfig", "SmtpServer", ""); 无法读取
$FromName = @IPAddress1 ; 名字来自谁是电子邮件的发送 ;可以读
$Body = "服务器被重启,请注意检查!" ;可以读
Else
MsgBox(16, "错误!", "无效参数!")
Exit
EndIf
Else
MsgBox(16, "错误!", "本程序需要带参数运行")
Exit
EndIf
MsgBox(0, 0, $SmtpServer & " " & $FromName & " " & $Body)配置文件IPMonConfig.ini格式 :
FromAddress=abcd@163.com
SmtpServer=smtp.163.com
Username=abcd
Password=123456
ToAddress123456@qq.com
IPPort=25
Subject=有异常 检查配置文件的编码格式是否为ansi 回复 1# bhffhzh
If $CMDLINE <> 0 Then
If $CMDLINE = "start" Then
这两个判断正确就可以读 回复 3# chzj589
$FromName = @IPAddress1 ; 名字来自谁是电子邮件的发送 ;可以读
$Body = "服务器被重启,请注意检查!" ;可以读
说明判断应没错 回复 2# tubaba
没错。是ansi 回复 5# bhffhzh
带参数运行的程序,无法读取配置文件
然後 問題說明 又都是可以讀取..........
真怪那到底是哪邊無法讀取?? 回复 6# kk_lee69
$FromName = @IPAddress1 ; 名字来自谁是电子邮件的发送 ;可以读
@IPAddress1明明就是 系統變數怎麼會是讀取來的??
所以 麻煩請上完整的測試代碼 回复 7# kk_lee69
$strConfigINI = @ScriptDir & "\IPMonConfig.ini"
$SmtpServer = IniRead($strConfigINI, "MailConfig", "SmtpServer", "")
这两行就是读取配置文件,但读不出来,也就是我的主要问题。不知我的问题表达清楚没有。 带参数运行的程序,无法读取配置文件,如果真是这样,那就老火了。 本帖最后由 h20040606 于 2017-8-3 13:22 编辑
回复 9# bhffhzh
我试验了,没有问题啊。我用的3.3.12.0 回复 10# h20040606
啊,AUTOIT_3.3.6.1.exe 我这是个,我来换试试。 我用的版本 3.3.14.2
IniRead 函数只可以正常读取ANSI编码文件,如果是UTF8编码文件,会读取失败
而如果原来的INI文件是ANSI编码,用函数IniWrite写中文参数到文件时,可能会导致编码变为UTF8
所以再用函数IniRead读取时,读取失败
所以,我的做法是,先将INI文件转换一次编码为ANSI,再读取参数 本帖最后由 chzj589 于 2017-8-3 14:39 编辑
回复 11# bhffhzh
修改判断就行Local $CMDLINE=
Local $CMDLINE=
If $CMDLINE <> 0 Then
If $CMDLINE = "start" Then
$strConfigINI = @ScriptDir & "\IPMonConfig.ini"
$SmtpServer = IniRead($strConfigINI, "MailConfig", "SmtpServer", "") ; 无法读取
$FromName = @IPAddress1 ; 名字来自谁是电子邮件的发送 ;可以读
$Body = "服务器被重启,请注意检查!" ;可以读
Else
MsgBox(16, "错误!", "无效参数!")
Exit
EndIf
Else
MsgBox(16, "错误!", "本程序需要带参数运行")
Exit
EndIf
MsgBox(0, 0, $SmtpServer &@CRLF & $FromName & @CRLF& $Body)
回复 13# chzj589
貌似也不行。 回复 13# chzj589
{:face (303):}$cmdline是内置变量,正常情况不能去动的
楼主问题,个人觉得也是因为au3版本太旧了。。。在我这里正常运行
页:
[1]
2