PE里是如何實現程序運行的呢?以掛載wim是其中的一種方法,下面就以opera.wim為例說明處理方法,假設opera.wim中包含兩個文件,一個opera.exe,另一個opera.cmd,而關鍵的部分就opera.cmd,其代碼如下:
@echo off
COLOR 5f
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:minipeopera.wim (
if not exist %%a:minipeopera.wim (
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:~0,1%
xcopy Y:opera /e %TP%:peopera /y /h /r>nul 2>nul
attrib -r -a %TP%:peopera /s /d
pushd %TP%:peopera
start operausb.exe
)
goto :eof
:two
start operausb.exe
goto :eof
說明:
1、首先,用戶點擊運行opera.wim的時候,會先啟動里面的opera.cmd,由它來判斷WinPE系統是不是在CD介質上啟動運行的,如果是,那么就提示用戶設置一個本地分區,當用戶指定本地分區后,這時候,opera.cmd就會將所需的文件復制到本地分區上并運行。如果判斷WinPE系統在可寫介質上運行,那么就直接運行程序。
2、此判斷程序需要有findstr.exe和fsutil.exe這兩個文件,一般的WinPE系統內核中是沒有的,這兩個文件或放在內核中,或放在WIM文件中,但建議放在內核中,因為有許多軟件都需要同樣的處理。
3、此方法適用于ISO和IMG核心的WinPE系統,同樣也適合是否開B盤的。
新聞熱點
疑難解答