大家好。
我想创建一个带有一些自定义的 Windows 安装程序
1 - 我想知道一个生成已经包含配置的 .ini 文件的脚本
示例:使用我键入的名称创建一个新的 .ini 文件,其中包含
[建立][姓名]
2 - 我想知道一个与 unattend.xml 链接的脚本
示例:当我输入用户名、密码和组时更改用户、密码和组 xml 文件所以我可以使用我的自定义安装 Windows例如,有 WinNTSetup
如果难以理解,请原谅我的翻译
创建INI文件或者XML文件都可以使用PECMD的WRIT命令,例如:
WRIT C:\setup.ini,+0,[setup] WRIT C:\setup.ini,+0,file=abc WRIT C:\setup.ini,+0,[name] WRIT C:\setup.ini,+0,username=123
创建XML文件时,也是用一样的方法去逐行写入文本。
PECMD提供了一个读取INI文件的方法文件:
_SUB READINI // [-f filename[=%READINI_STORE%]] [-ret UsrRetName] TAG NAME [DEF_VAL] SET &I=1 FIND $%~1=-f, TEAM CALC #&I=%&I%+2| SET &READINI_STORE=%~2 MSTR &&V,&&Vi=<~%I%*>%* SET &RetName= FIND $%&&V%=-ret, TEAM CALC #&I=%&I%+2| SET RetName=%&Vi% FIND $%&READINI_STORE%=,EXIT _SUB //参数错误 SET &V= MSTR &&TAG,&&NM,&&V=<~%&I%*>%* FIND $[ '%&&TAG%'='' | ''='%&&NM%' ], EXIT _SUB //参数错误 FIND $%&RetName%=, SET RetName=%&NM% STRL &len=%NM%= CALC #&&off=%&len%+1 SET &fnd=0 READ %&READINI_STORE%,*,&&VS FORX *NL &&VS,&&Vi, { @FIND $%&Vi%=[%&TAG%], TEAM SET fnd=1| EXIT - @MSTR * &&c1=1,1,&Vi @FIND $%&&c1%=[, TEAM SET fnd=0| EXIT - @MSTR * &&c1=1,%&len%,&Vi @IFEX #[ %&fnd%=1 & '%&&c1%'='%&NM%=' ],TEAM SET fnd=2| MSTR &V=%&off%,0,%&Vi%| EXIT FORX } ENVI-ret %&RetName%=%&&V% _END SET &V=error READINI -f A.INI -ret &&V setup name "(null)" MESS. [setup]:name=[%&&V%] SET &name=error READINI -f A.INI setup name "(null)" MESS. [setup]:name=[%name%] SET &title=error @TEAM SET &READINI_STORE=A.INI READINI setup title "(null)" MESS. [setup]:title=[%title%] SET &V=error READINI -ret &&V setup title "(null)" MESS. [setup]:title=[%&&V%]
希望能帮助到你😃
caocaofff 创建INI文件或者XML文件都可以使用PECMD的WRIT命令,例如: WRIT C:\setup.ini,+0,[setup] WRIT C:\setup.ini,+0,file=abc WR ...
非常感谢,对我帮助很大
有没有办法进入 EDIT1 并让它自动出现在 EDIT2 中?
我知道如果我使用 ENVI @EDIT2=%EDIT1% 它会完成这个过程,但是为了让它工作我必须按 Enter
我想知道是否有一种方法可以在不按 Enter 的情况下自动执行此操作
例子:如果我在EDIT1中输入(HELLO),它会自动出现在EDIT2中,如果我删除我在EDIT1中写的内容,它会自动删除EDIT2
并使其禁止输入特殊字符
keketoco00 有没有办法进入 EDIT1 并让它自动出现在 EDIT2 中? 我知道如果我使用 ENVI @EDIT2=%EDIT1% 它会完成这个过程,但是为了让它工作我必须按 Ente ...
看了帮助文档,edit控件的事件触发方式只能是按回车键或双击,所以这个问题需要问问pecmd的开发者是否有解决的办法
我懂了
是否可以按住回车键? 也许它像这个例子一样工作:SEND #13_
keketoco00 我懂了 是否可以按住回车键? 也许它像这个例子一样工作:SEND #13_
你可能仍然需要通过其他方式来触发操作
ENVI EN_CHANGE=0x0300
CALL @WIN1
_SUB WIN1,W354H309,
edit Edit1,L10T10W275H70,,,
edit Edit2,L10T82W275H70,,,
ENVI @Edit1.ID=?;ID1
ENVI @this.MSG=_COMMAND#%ID1%#%EN_CHANGE%::wp,lp, envi @Edit2=%Edit1%
_END
527104427 ENVI EN_CHANGE=0x0300 CALL @WIN1 _SUB WIN1,W354H309, edit Edit1,L10T10W275H70,,, edit Ed ...
非常感谢 caocaofff
这正是我想要的
纸币 1000
keketoco00 非常感谢 caocaofff 这正是我想要的 纸币 1000
哈哈哈,请问是人民币吗?
顺便说一下,我可不是草草坛主哦