PE里是如何实现程序运行的呢?以挂载wim是其中的一种方法下面就以operawim为例说明处理方法假设operawim中包含两个文件一个operaexe另一个operacmd而关键的部分就operacmd其代码如下 @echo off COLOR f for %%a in (y x w v u t s r q p o n m l k j i h g f e d c) do ( if exist %%a:\minipe\operawim ( if not exist %%a:\minipe\operawim\ ( fsutil fsinfo drivetype %%a:|findstr /i "CD">nul&&( call :one exit)||( call :two exit) ) ) ) :one echo echo echo echo 请指定文件运行的分区我们会将文件复制到您指定分区的peopera下以便 echo echo 下次可以减少此次操作 echo echo set /p TP=请输入运行分区 echo echo Set TP=%TP:~% xcopy Y:\opera /e %TP%:\peopera\ /y /h /r>nul >nul attrib r a %TP%:\peopera /s /d pushd %TP%:\peopera start operausbexe ) goto :eof :two start operausbexe goto :eof 说明 首先用户点击运行operawim的时候会先启动里面的operacmd由它来判断WinPE系统是不是在CD介质上启动运行的如果是那么就提示用户设置一个本地分区当用户指定本地分区后这时候operacmd就会将所需的文件复制到本地分区上并运行如果判断WinPE系统在可写介质上运行那么就直接运行程序 此判断程序需要有findstrexe和fsutilexe这两个文件一般的WinPE系统内核中是没有的这两个文件或放在内核中或放在WIM文件中但建议放在内核中因为有许多软件都需要同样的处理 此方法适用于ISO和IMG核心的WinPE系统同样也适合是否开B盘的 |