极速PE官网 > 最新动态 >

SHELL32.DLL#!_ICOID! %TEMP%\LINKS.INI ECHO LINK !TODIR!\!LNK

作者:pe系统 2015-10-28

在任一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 (

            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.