想把自己的脚本加入到PE系统中可以通过修改Startnet.cmd、Unattend.xml和Winpeshl.ini文件的一个即可。我们可以创建自定义的Winpeshl.ini文件,以便可以运行自己的应用程序。一键u盘装系统来讲讲吧
在往PE添加任何自定义脚本之前,必须先用ImageX工具加载基本WinPE镜像 (WinPE.wim)。   

一、使用Startnet.cmd添加自定义脚本,使用Startnet.cmd可以在WinPE中添加自定义命令行脚本。默认情况下,WinPE包括Startnet.cmd脚本,此脚本位于WinPE映像的 %SYSTEMROOT%\System32 中。当前,Startnet.cmd启动Wpeinit.exe。Wpeinit.exe 用于安装即插即用 (PnP) 设备、处理 Unattend.xml 设置以及加载网络资源。编辑Startnet.cmd 以包括自定义命令。   注意:对于PnP和网络支持,请确保在自定义Startnet.cmd脚本中包含了对wpeinit的调用。   

二、运行p_w_picpathx /info d:\boot.wim,查看WinPE映像的信息。我们要注意这一行:

Image Count: 2   说明此WinPE映像文件中其实包含了两个映像。每个映像的详细信息在后面有详细的显示。这里要特别说明的是我们需要编辑的是第二个名称为WDS的映像,因为WDS使用此映像引导计算机。   

使用p_w_picpathx命令加参数mountrw先将 *.wim 加载到pemount目录中: p_w_picpathx /mountrw c:\winpe2\pe2.wim

2 c:\pemount   使用peimg命令将第三方驱动添加到WinPE 2.0中,如需添加多个设备驱动请重复该步骤。 peimg /inf=c:\winpe2\netdrv\xxx.inf c:\pemount\windows   

使用p_w_picpathx命令加参数unmount及commit将修改写入到 *.wim p_w_picpathx /unmount c:\pemount /commit   

三、使用Winpeshl.ini添加自己的脚本,可以使用名为Winpeshl.ini的文件启动自定义应用程序。Winpeshl.exe将在启动期间处理Winpeshl.ini中的语句。使用文本编辑器(如记事本)编写具有以下结构的Winpeshl.ini文本文件。

例如: [LaunchApp] AppPath = %SYSTEMDRIVE%\myshell.exe [LaunchApps] %SYSTEMDRIVE%\mydir\application1.exe, -option1 -option2 application2.exe, -option1 -option2   注:将AppPath项写入应用程序的路径。

 

此路径可以是绝对路径,也可以使用环境变量,例如%SYSTEMROOT%\System32\Myshell.exe。AppPath 项不支持命令行选项。将此文件保存至WinPE映像的%SYSTEMROOT%\System32。

=======================================================补充======================================================

Winpeshl.ini的格式


[LaunchApp]


AppPath = %SYSTEMDRIVE%\myshell.exe


[LaunchApps]


%SYSTEMDRIVE%\mydir\application1.exe, -option1 -option2


application2.exe, -option1 -option2





可以有上面两节中的一节或者两节。


第一节不一定是shell,但是不管是什么,不能带参数


第二节可以是任何命令或者其他的应用程序,但是要注意的是如果是命令的话,参数必须用引号包起来,譬如


bcdedit.exe," -set path \windows\system32\winload.exe"


p_w_picpathx.exe,"-capture c:\1.wim 1 c:"