|
本帖最后由 slore 于 2019-10-26 15:59 编辑
startnet.cmd, pecmd.lua, pecmd.ini 都是PE启动管理入口,但是,
一个是批处理脚本语言,一个是开源LUA脚本语言,一个是pecmd自制的脚本语言。
相同的事情要以不同语法写3份很麻烦,所以 WimBuilder2构建的PE,
以上启动管理入口只负责自己作为Loader必须执行的事情,
以及各个阶段的调度接口处理。
快捷方式初始化,应用程序关联,注册表优化设定,服务开启关闭等,都在X:\PEMaterial\Autoruns\Startup 下面.
X:\PEMaterial\Autoruns\Startup\BeforeShell (外壳程序运行前执行这个目录下的批处理和EXE,注册表导入)
X:\PEMaterial\Autoruns\Startup\ (外壳程序运行后执行这个目录下的批处理和EXE,注册表导入)
你可以用pecmd.exe myinit.ini,也可以用WinXShell.exe -script myinit.lua。
或者做其他的事情,在这里创建启动脚本即可。
PECMD.ini是都写到一起,不过我采用Windows的 启动文件夹 的 文件方式,
不要了直接删除,避免使用 TXTReplace之类的修改ini文件。
需要启动的添加,不需要的删除即可。语言不限,可以执行python命令,也可以调用powershell脚本。
对于WIN10PE,PECMD的比如PINT之类的命令已经失效了,可以使用LUA的
Taskbar:Pin('cmd.exe') 。
开机播放音乐PECMD没用,可以用nircmd.exe,或者LUA的 app:call('Play','X:\\Windows\\Media\\Startup.mp3')。
LUA脚本没有 DEVI之类的PECMD特有的命令,可以PECMD.exe DEVI xxx.inf来组合实现需要的功能。
这个只是我把Windows的“启动文件夹”搬过来,更容易实现启动管理的“分治”结构(增加启动脚本文件即可)。
各种快捷方式等,是WimBuilder2离线构建PE时,自动按需生成的,于原来的做好了PE,在pecmd.ini中集中补充LINK, PINT不同。
当然PE是自由的,你完全可以用PECMD.exe pecmd.ini 接管,pecmd.ini放到System32下面,改下SYSTEM\Setup\CmdLine即可。
|
|