大家好。

我想创建一个带有一些自定义的 Windows 安装程序

1 - 我想知道一个生成已经包含配置的 .ini 文件的脚本

示例:使用我键入的名称创建一个新的 .ini 文件,其中包含

[建立]
[姓名]

2 - 我想知道一个与 unattend.xml 链接的脚本

示例:当我输入用户名、密码和组时
更改用户、密码和组 xml 文件
所以我可以使用我的自定义安装 Windows
例如,有 WinNTSetup

如果难以理解,请原谅我的翻译

收藏
点赞
分享
Keketoco00
最新回复 (10)
  • 超级版主 caocaofff 2天前

    创建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%]
    
    

    希望能帮助到你😃

    哈哈😊
  • 士兵 keketoco00 2天前   楼主
    caocaofff 创建INI文件或者XML文件都可以使用PECMD的WRIT命令,例如: WRIT C:\setup.ini,+0,[setup] WRIT C:\setup.ini,+0,file=abc WR ...

    非常感谢,对我帮助很大

    最后于 2天前 被keketoco00编辑 ,原因:
    Keketoco00
  • 士兵 keketoco00 2天前   楼主
    此楼层已删除
    Keketoco00
  • 士兵 keketoco00 1天前   楼主
    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
  • 超级版主 caocaofff 22小时前
    keketoco00 有没有办法进入 EDIT1 并让它自动出现在 EDIT2 中? &nbsp; 我知道如果我使用 ENVI @EDIT2=%EDIT1% 它会完成这个过程,但是为了让它工作我必须按 Ente ...

    看了帮助文档,edit控件的事件触发方式只能是按回车键或双击,所以这个问题需要问问pecmd的开发者是否有解决的办法

    最后于 21小时前 被caocaofff编辑 ,原因:
    哈哈😊
  • 士兵 keketoco00 21小时前   楼主

    我懂了

     

    是否可以按住回车键? 也许它像这个例子一样工作:SEND #13_

    Keketoco00
  • 超级版主 caocaofff 20小时前
    keketoco00 我懂了 是否可以按住回车键? 也许它像这个例子一样工作:SEND #13_

    你可能仍然需要通过其他方式来触发操作

    哈哈😊
  • 超级版主 527104427 15小时前
    keketoco00 有没有办法进入 EDIT1 并让它自动出现在 EDIT2 中? &nbsp; 我知道如果我使用 ENVI @EDIT2=%EDIT1% 它会完成这个过程,但是为了让它工作我必须按 Ente ...

    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

    https://www.123pan.com/s/NflRVv-Cm5Sh
  • 士兵 keketoco00 12小时前   楼主
    527104427 ENVI EN_CHANGE=0x0300 CALL @WIN1 _SUB WIN1,W354H309, edit Edit1,L10T10W275H70,,, edit Ed ...

    非常感谢 caocaofff

    这正是我想要的

    纸币 1000

    Keketoco00
  • 超级版主 527104427 12小时前
    keketoco00 非常感谢 caocaofff 这正是我想要的 纸币 1000

    哈哈哈,请问是人民币吗?

    顺便说一下,我可不是草草坛主哦

    https://www.123pan.com/s/NflRVv-Cm5Sh
返回