|
有人问PROGRAMS.WIM中的那些外置程序的快捷方式是如何建立的,现在简单的描述一下:
PE引导时运行PECMD的配置文件%systemroot%\system32\pecmd.ini,有以下的一段子程式:- /////////////////////////////////////////////////////////////////////////////////
- _SUB MountOutSideWIM
- FIND B:\>16,CALL NTFS_B
- FIND B:\=16,CALL NTFS_B
- FIND B:\<16,CALL FAT_B
- _END
- _SUB NTFS_B
- EXEC =!CMD.EXE /C "%SystemRoot%\system32\FORMAT.COM B: /FS:NTFS /V:RAMDisk /Q /C /X /FORCE>NUL"
- EXEC =!CMD.EXE /C "mkdir B:\PROGRAMS"
- EXEC =!CMD.EXE /C "X:\PROGRAMS\PELINK_CNXP.CMD>NUL"
- IFEX B:\PROGRAMS\FREEWB\FREEWB.IME,CALL FREEWB_B
- _END
- _SUB FAT_B
- EXEC =!CMD.EXE /C "mkdir B:\PROGRAMS"
- EXEC =!CMD.EXE /C "X:\PROGRAMS\PELINK_CNXP.CMD>NUL"
- IFEX B:\PROGRAMS\FREEWB\FREEWB.IME,CALL FREEWB_X
- _END
- /////////////////////////////////////////////////////////////////////////////////
复制代码 这段子程式执行脚本文件X:\PROGRAMS\PELINK_CNXP.CMD,有如下一段内容:- if exist %SystemRoot%\system32\autorun.tag goto _findprog
- for %%i in (x q w e r t y u i o p s d f g h j k l z c v n m) do (
- if exist %%i:\programs.wim set _drive=%%i
- )
- if not exist %_drive%:\Programs.wim goto _findprog
- echo Trying to mount %_drive%:\programs.wim read-write...
- start /min /wait imagex.exe /mountrw %_drive%:\programs.wim 1 B:\Programs >nul
- if not exist B:\Programs\PROG_WIM.TAG (
- if not exist B:\PROG_WIM.TAG (
- echo Error. Trying to mount %_drive%:\programs.wim read-only...
- start /min /wait imagex.exe /mount %_drive%:\programs.wim 1 B:\Programs >nul
- )
- )
复制代码 这段内容负责找寻和挂接programs.wim。之后,脚本运行其建立快捷方式的主要段落 _linkprep,使用shortcut.exe建立快捷方式。例如:- if not exist "%UserProfile%\「开始」菜单\程序\文件工具" mkdir "%UserProfile%\「开始」菜单\程序\文件工具"
- if exist "%ProgramFiles%\totalcmd\totalcmd.exe" (start /min /wait ShellExecute.exe -h %SystemRoot%\system32\shortcut.exe /f:"%UserProfile%\「开始」菜单\程序\文件工具\Total Commander.lnk" /a:c /t:"%ProgramFiles%\totalcmd\totalcmd.exe" /w:"%ProgramFiles%\totalcmd")
- if exist "%ProgramFiles%\totalcmd\totalcmd.exe" (start /min /wait ShellExecute.exe -h %SystemRoot%\system32\shortcut.exe /f:"%UserProfile%\Application Data\Microsoft\Internet Explorer\Quick Launch\Total Commander.lnk" /a:c /t:"%ProgramFiles%\totalcmd\totalcmd.exe" /w:"%ProgramFiles%\totalcmd")
复制代码 由上所见,改编脚本文件X:\PROGRAMS\PELINK_CNXP.CMD,即可建立你自己的快捷方式。
[ 本帖最后由 khauyeung 于 2008-8-27 06:53 编辑 ] |
|