管理资源吧

当前位置:管理资源吧首页>>>tech>>>c1>>>电脑常识

为WinPE添加程序快捷方式的方法

  在任一win环境下建立好快捷方式后,通过脚本提取它的路径,并修改为当前PE适合的路径建立新的快捷方式,所以调用脚本后相应的快捷方式(PE的桌面、开始菜单等)是能用的,而“U盘自由程序快捷方式”里的快捷方式不一定能用。

  功能:把要使用的程序放到U盘或其他盘的根目录下的“自由程序”文件夹里,进入相应程序的文件夹,为要执行的文件建立快捷方式(在什么系统下建立都没有问题,XP下也行,正常的windows就行),并把快捷方式复制到 “自由程序快捷方式”下的相应文件夹内,当PE启动并执行本脚本后,就会在相应的地方建立快捷方式。

  示例:FINALDATA,要建立的快捷方式为"开始菜单程序数据恢复FINALDATA",做法如下:

  (本操作不一定要在PE下完成,所有的windows都行)

  1、复制“FINALDATA”文件夹到U盘根目录下的“自由程序”文件夹内,

  2、进入U盘自由程序FINALDATA ,为FINALDATA.exe和FINALDATA.reg建立快捷方式

  3、FINALDATA.exe的快捷方式复制到 U盘自由程序快捷方式开始菜单程序数据恢复 里,FINALDATA.reg的快捷方式菜单复制到 U盘自由程序快捷方式执行 里,当PE启动并执行本脚本后,就会运行FINALDATA.reg注册FINALDATA,并在相应的地方建立了快捷方式。

  对非exe格式的程序,快捷方式的图标会是随机的

  执行文件夹里面放你的REG、CMD、等的注册文件,就是你的程序执行前要执行的,把快捷方式放里面就行啦!!!“快捷方式”里面放的都要是快捷方式哦!

  程序如下,文件名为 LINKS.CMD,脚本为PECMD和MS-DOS格式混编,调用时可直接运行或用PECMD的LOAD命令(推荐)

  本脚本在XP SP3 CMD.EXE(5.1.2600) PECMD.EXE(3.6.0930.309)下通过测试,其他环境请自测

  ::`脚本开始

  GOTO CMDMODE

  _SUB CMDMODE

  :CMDMODE

  setlocal enabledelayedexpansion

  ECHO OFF

  CLS&>%TEMP%LINKS.INI ECHO.

  IF %1.==. GOTO NOTPECMD

  SET PRODIRNAME=%1

  SET LINKSDIR=%PRODIR%快捷方式

  FOR %%K IN (开始菜单 桌面 执行 开机启动 快速启动 发送到 收藏夹 我的文档) DO (

  SET FROMDIR=%%K

  IF !FROMDIR!.==开始菜单. (SET TODIR=%StartMenu%) ELSE (

  IF !FROMDIR!.==桌面. (SET TODIR=%Desktop%) ELSE (

  IF !FROMDIR!.==执行. (SET _SETUP=1) ELSE (

  IF !FROMDIR!.==快速启动. (SET TODIR=%QuickLaunch%) ELSE (

  IF !FROMDIR!.==发送到. (SET TODIR=%SendTo%) ELSE (

  IF !FROMDIR!.==开机启动. (SET TODIR=%Startup%) ELSE (

  IF !FROMDIR!.==收藏夹. (SET TODIR=%Favorites%) ELSE (

  IF !FROMDIR!.==我的文档. SET TODIR=%Personal%

  ) ) ) ) ) ) )

  IF EXIST "%LINKSDIR%!FROMDIR!" FOR /F "TOKENS=*" %%I IN ('DIR /a /b /S "%LINKSDIR%!FROMDIR!*.LNK"') DO (

[Ok3w_NextPage]

  SET II=%%I

  SET II=!II:~13,-4!

  FOR /F "TOKENS=1,* DELIMS=" %%a IN ('ECHO !II!') DO SET LNKPATH=%%b

  FOR /F "TOKENS=*" %%J IN ('TYPE "%%I"^|FIND ""^|FIND "."') DO (

  FOR /F "TOKENS=1,* DELIMS=%1" %%A IN ('ECHO %%J') DO (

  SET _EXT=%%B

  SET _EXT=!_EXT:~-3!

  IF NOT !_SETUP!.==1. (

  IF /I NOT !_EXT!.==EXE. (

  SET /A _ICOID=%RANDOM%%%222

  SET _ICON=,,SHELL32.DLL#!_ICOID!

  >>%TEMP%LINKS.INI ECHO LINK !TODIR!!LNKPATH!,!PRODIR!%%B!_ICON!

  ) ELSE (

  >>%TEMP%LINKS.INI ECHO LINK !TODIR!!LNKPATH!,!PRODIR!%%B

  )

  ) ELSE (

  IF /I !_EXT!.==REG. (

  >>%TEMP%LINKS.INI ECHO EXEC REGEDIT.EXE /S !PRODIR!%%B

  ) ELSE (

  >>%TEMP%LINKS.INI ECHO EXEC @!PRODIR!%%B

  )

  )

  )

  )

  )

  )

  GOTO END

  :NOTPECMD

  ECHO.

  ECHO.

  ECHO.

  ECHO 功能:把要使用的程序放到U盘或其他盘的根目录下的“自由程序”文件夹里,进入相应

  ECHO 程序的文件夹,为要执行的文件建立快捷方式(在什么系统下建立都没有问题,XP下也

  ECHO 行,正常的windows就行),并把快捷方式复制到 “自由程序快捷方式”下的相应文件

  ECHO 夹内,当PE启动并执行本脚本后,就会在相应的地方建立快捷方式。

  ECHO.

  ECHO.

  ECHO Make By GoSun 2009.11

  PECMD LOAD LINKS.CMD

  GOTO END

  _END

  FORX @自由程序,PRODIR,0,EXEC =!LINKS.CMD 自由程序

  TEAM LOAD %TEMP%LINKS.INI|FILE %TEMP%LINKS.INI

  MESS 加载成功!@加载成功 #OK *500 `这里是完成后的提示信息,可以取消

  :END

  ::`脚本结束

  本脚本运行过程会生成临时文件(完成后会删除),如果不想生成临时文件,请把>>%TEMP%LINKS.INI ECHO替换为PECMD,不过运行效率会降低。

  附文件目录结构:

  V:自由程序

  V:自由程序程序1

  V:自由程序程序2

  V:自由程序快捷方式

  V:自由程序快捷方式执行

  V:自由程序快捷方式桌面

  V:自由程序快捷方式开机启动

  V:自由程序快捷方式快速启动

  V:自由程序快捷方式发送到

  V:自由程序快捷方式收藏夹

  V:自由程序快捷方式我的文档

  V:自由程序快捷方式开始菜单

  V:自由程序快捷方式开始菜单程序

tech首页 更多tech