假设有配置文件内容如下:
[setting]backround=back.jpgWaitInst=30WaitRestart=30
[software]1 火绒杀毒=%windir%\setup\script\hr.exe /s0 7zip=%windir%\setup\script\7z.exe /s
我用read命令怎么读取software节下的所有内容?帮助太简陋,实例文件看不懂,恳请指教
试试这个
链接:https://share.weiyun.com/9goFn4mw 密码:jkkvxv
里面也许有源码,我也忘记了
谢谢,我学习下
527104427 试试这个 链接:https://share.weiyun.com/9goFn4mw 密码:jkkvxv 里面也许有源码,我也忘记了
这种方式,当内容比较多的时候,好像比较慢。
有没有更高效的方法呢?
我看了示例文件,并不能弹出正确信息啊?我看了下代码。里面没有指定ini文件路径?
是不是可以这么理解,read命令并不能直接读取ini的指定节,而是读取所有ini的内容,再对其作处理后得到特定内容?
anson4 这种方式,当内容比较多的时候,好像比较慢。 有没有更高效的方法呢?
也许用正则表达式会快点,不过最近没时间
dhwc 我看了示例文件,并不能弹出正确信息啊?我看了下代码。里面没有指定ini文件路径?
出错截图看看,不然怎么知道什么问题呢
527104427 出错截图看看,不然怎么知道什么问题呢
啥都没有啊?运行没有任何窗口和消息
是示例里的readini代码段吗?按示例命令是可以读取到变量里的,不是弹框
pecmd也支持0%这样的指代自身的变量吗?我尝试在代码中加入mess来查看但没有成功,明天我再看下
ENVI^ EnviMode=1ENVI^ ForceLocal=1SET$ &NL=0d 0aREAD test.txt,**,&amess %&a%ENVI> &a=%&NL%ENVI &b=%~2ENVI &c=%~3mess %&b%
我改了下代码,运行后,变量a能读取到所有内容,而变量b是空值
dhwc ENVI^ EnviMode=1ENVI^ ForceLocal=1SET$ &NL=0d 0aREAD test.txt,**,&amess %&a% ...
传参是不是要在子函数里才能接收?
caocaofff 传参是不是要在子函数里才能接收?
你好超版,pecmd的帮助论坛里太分散了,看的头疼。read读取后还要逐行处理,搜了下,发现可以调用函数解决,貌似还更高效。
代码如下:
ENVI^ EnviMode=1
ENVI &IniFile=%&CurDir%\config.ini
ENVI &Section=database
ENVI &Key=server
SET$# &Buffer=*256 0
CALL $--ret:&&Ret kernel32.dll,GetPrivateProfileStringW,$%&Section%,$%&Key%,$LALALA,*&&Buffer;,256,$%&IniFile%
ENVI &RetValue=%&Ret%
FIND $%&RetValue%>0,
{
SET-make &Value=&Buffer;
MESS. 成功读取:Section=[%&Section%] Key=[%&Key%]@值=[%&Value%]#OK
}
但是这个读取的是特定键值,如果要读取整个节,,要把GetPrivateProfileStringW的lpkeyname的参数设为NULL,而call命令不支持传递NULL,请问超版有什么好办法?
dhwc 你好超版,pecmd的帮助论坛里太分散了,看的头疼。read读取后还要逐行处理,搜了下,发现可以调用函数解决,貌似还更高效。 代码如下: ENVI^ EnviMode=1 ENVI ...
我是直接用的示例里面的readini代码
caocaofff 我是直接用的示例里面的readini代码
谢谢,我再认真学习学习