如何为WinPE打包程序
  • 作者:佚名
  • 时间:2016-10-30

PE里是如何实现程序运行的呢?以挂载wim是其中的一种方法,下面就以opera.wim为例说明处理方法,假设opera.wim中包含两个文件,一个opera.exe,另一个opera.cmd,而关键的部分就opera.cmd,其代码如下:

  1. @echo off
  2. COLOR 5f
  3. 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 (
  4. if exist %%a:\minipe\opera.wim (
  5. if not exist %%a:\minipe\opera.wim\ (
  6. fsutil fsinfo drivetype %%a:|findstr /i "CD">nul&&(
  7. call :one
  8. exit)||(
  9. call :two
  10. exit)
  11. )
  12. )
  13. )
  14.  
  15. :one
  16. echo.
  17. echo   
  18. echo.
  19. echo.   请指定文件运行的分区,我们会将文件复制到您指定分区的peopera下,以便
  20. echo.
  21. echo.   下次可以减少此次操作。
  22. echo.   -------------------------------------------------------------------
  23. echo.
  24. set /p TP=请输入运行分区
  25. echo.
  26. echo.
  27. Set TP=%TP:~0,1%
  28. xcopy Y:\opera /e %TP%:\peopera\ /y /h /r>nul 2>nul
  29. attrib -r -a %TP%:\peopera /s /d
  30. pushd %TP%:\peopera
  31. start operausb.exe
  32. )
  33. goto :eof
  34.  
  35. :two
  36. start operausb.exe
  37. goto :eof

  说明:
  1、首先,用户点击运行opera.wim的时候,会先启动里面的opera.cmd,由它来判断WinPE系统是不是在CD介质上启动运行的,如果是,那么就提示用户设置一个本地分区,当用户指定本地分区后,这时候,opera.cmd就会将所需的文件复制到本地分区上并运行。如果判断WinPE系统在可写介质上运行,那么就直接运行程序。
  2、此判断程序需要有findstr.exe和fsutil.exe这两个文件,一般的WinPE系统内核中是没有的,这两个文件或放在内核中,或放在WIM文件中,但建议放在内核中,因为有许多软件都需要同样的处理。
  3、此方法适用于ISO和IMG核心的WinPE系统,同样也适合是否开B盘的。可以到雨林木风u盘启动制作工具的官网:www.ylmfpe.com 咨询客服,更多精彩内容继续关注。本文由雨林木风u盘启动盘整理发布

 

 

相关推荐