输入已编译的 AUTOIT 程序的最佳方式
Best way to input a compiled AUTOIT program
上下文:
我将编写一个将分发给许多人的 AUTOIT 脚本(我们称之为 script.exe
)。使用我的程序的人只需要输入一次 script.exe
并且可能 运行 script.exe
多次。当然,人们可以根据自己的意愿自由更新输入。
所以首先我想到了使用输入文件的方法,然后我的程序可以读取、解析然后使用它。可以做一些改进是使用 json
格式。但是我觉得这种方法太复杂了,所以我想出了解决方案2。
解决方案 2 是我的 script.exe
将导入 input.au3
内容如下:
$input1 = '...'
$input2 = '...'
$input3 = '...'
$input4 = '...'
那我就编译script.exe
,不编译input.au3
,让大家可以自由更新input.au3
。这种方法很自然地帮助我解决了问题,但我最终不知道该怎么做。
所以我的问题是:
- 如何编译一个程序但排除某些包含文件不编译?
- 有没有比我的解决方案更好的方法?或者甚至任何现有的库都可以帮助解决方案 1 如此容易接近?
您想要的(包含用户可编辑变量的外部文件)称为 .INI
文件。这些文件在历史上具有固定格式,以“部分”结构,可能看起来像:
[INPUTFILE]
; comment
Folder=C:\in
File=test.txt
[OUTPUTFILE]
Folder=C:\out
File=test.csv
Delimiter=;
AutoIt 能够处理那些 .INI
文件(从特定部分读取一个键,更改它,或者添加一个,或者删除它)。
例如,您可以通过以下方式读取特定键:
$delim = Iniread(@ScriptDir & "\MyIni.ini", "OutputFile", "Delimiter", ",")
其中 $delims
默认为 ,
,当在 .ini
文件(最后一个参数)中找不到密钥时
IniReadSection
将整个部分读入数组。
INI
文件的优点是,它不包含实际的变量名称,而是人类可读的“键”;它们的值被分配给具有 IniRead
的变量
上下文:
我将编写一个将分发给许多人的 AUTOIT 脚本(我们称之为 script.exe
)。使用我的程序的人只需要输入一次 script.exe
并且可能 运行 script.exe
多次。当然,人们可以根据自己的意愿自由更新输入。
所以首先我想到了使用输入文件的方法,然后我的程序可以读取、解析然后使用它。可以做一些改进是使用 json
格式。但是我觉得这种方法太复杂了,所以我想出了解决方案2。
解决方案 2 是我的 script.exe
将导入 input.au3
内容如下:
$input1 = '...'
$input2 = '...'
$input3 = '...'
$input4 = '...'
那我就编译script.exe
,不编译input.au3
,让大家可以自由更新input.au3
。这种方法很自然地帮助我解决了问题,但我最终不知道该怎么做。
所以我的问题是:
- 如何编译一个程序但排除某些包含文件不编译?
- 有没有比我的解决方案更好的方法?或者甚至任何现有的库都可以帮助解决方案 1 如此容易接近?
您想要的(包含用户可编辑变量的外部文件)称为 .INI
文件。这些文件在历史上具有固定格式,以“部分”结构,可能看起来像:
[INPUTFILE]
; comment
Folder=C:\in
File=test.txt
[OUTPUTFILE]
Folder=C:\out
File=test.csv
Delimiter=;
AutoIt 能够处理那些 .INI
文件(从特定部分读取一个键,更改它,或者添加一个,或者删除它)。
例如,您可以通过以下方式读取特定键:
$delim = Iniread(@ScriptDir & "\MyIni.ini", "OutputFile", "Delimiter", ",")
其中 $delims
默认为 ,
,当在 .ini
文件(最后一个参数)中找不到密钥时
IniReadSection
将整个部分读入数组。
INI
文件的优点是,它不包含实际的变量名称,而是人类可读的“键”;它们的值被分配给具有 IniRead