无忧启动论坛

标题: 怎样给pe加入开机后自动运行的程序? [打印本页]

作者: clautton    时间: 2017-6-25 11:46
标题: 怎样给pe加入开机后自动运行的程序?
例如我想开机后自动运行C:\test.exe

谢谢.
作者: wuhenxpe    时间: 2017-6-25 11:47
需要修改PE,一般都有初始化过程,可以在那个地方修改 。
作者: clautton    时间: 2017-6-25 11:55
本帖最后由 clautton 于 2017-6-25 12:00 编辑
wuhenxpe 发表于 2017-6-25 11:47
需要修改PE,一般都有初始化过程,可以在那个地方修改 。


不知怎改.

PECMD.INI里:

forx /s %ProgramFiles%\orderdrv.cmd,tools,0,exec =!%tools%
forx %ProgramFiles%\*.bat,tools,0,exec !%tools%
shel explorer.exe
exec !winpeshl.exe
DISP W1600 H1200 B32 F60
Kill Explorer.exe

---

Program Files\配置.bat, 我加了ACDSee. 但不知怎加开机后自动运行C:\test.exe

@echo off
call :link "ACDSee.exe,%Programs%\ACDSee"
call :link "***.exe,%Programs%\***"
call :link "Notepad2.exe,%Programs%\Notepad"
call :link "WinRAR.exe,%Programs%\WinRAR"
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
    for %%b in ("%%a:\Sources\*64*.7z" "%%a:\Sources\*64*.iso") do (
        if "%%~xb"==".7z" (
            for /r "%~dp0" %%i in (7z.exe) do (
                if exist "%%~i" (
                    "%%~i" x "%%~b" -y -o"%~dp0"
                )
            )
        ) else if "%%~xb"==".iso" (
            PECMD.EXE LINK "%Desktop%\%%~nb","%%~b"
        )
    )
)
for %%a in ("%~dp0*.ini") do (
    PECMD.EXE LOAD "%%~a"
)
for %%a in ("%~dp0*.cmd" "%~dp0*.bat") do (
    if not "%~0"=="%%~a" (
        PECMD.EXE EXEC !"%%~a"
    )
)
exit
:link
for %%a in (%*) do (
    for /f "tokens=1,* delims=, " %%b in ("%%~a") do (
        for /r "%~dp0" %%i in (%%b) do (
            if exist "%%~i" (
                if not "%%~c"=="" (
                    PECMD.EXE LINK "%%~c","%%~i"
                ) else (
                    PECMD.EXE PINT "%%~i",TaskBand
                )
            )
        )
    )
)
goto :eof



作者: 金    时间: 2017-6-25 11:56
PECMD.ini(PE启动的配置文件一般在 Windows/System32/下)中添加 "EXEC C:\test.exe" ,具体EXEC的参数可以看PECMD中的帮助
作者: clautton    时间: 2017-6-25 12:09
金 发表于 2017-6-25 11:56
PECMD.ini(PE启动的配置文件一般在 Windows/System32/下)中添加 "EXEC C:\test.exe" ,具体EXEC的参数可以 ...

PECMD.ini我加了exec c:\test.exe, 但没反应:

forx /s %ProgramFiles%\orderdrv.cmd,tools,0,exec =!%tools%
forx %ProgramFiles%\*.bat,tools,0,exec !%tools%
shel explorer.exe
exec !winpeshl.exe
exec c:\test.exe
DISP W1600 H1200 B32 F60
Kill Explorer.exe

作者: 不知    时间: 2017-6-25 20:17
由于进入PE时,除X盘外,其它分区具体盘符不可确定。一般不使用盘符,而让pecmd自行搜索。
如:
EXEC \test.exe
这样pecmd会自行搜索所有分区根目录的下test.exe。

作者: clautton    时间: 2017-6-25 22:39
不知 发表于 2017-6-25 20:17
由于进入PE时,除X盘外,其它分区具体盘符不可确定。一般不使用盘符,而让pecmd自行搜索。
如:
EXEC \te ...

谢谢. 其它分区都有test.exe, 我需要只运行C:\test.exe的.
但有c:\test.exe, 不过加了exec c:\test.exe也没反应.
作者: 不知    时间: 2017-6-26 08:18
clautton 发表于 2017-6-25 22:39
谢谢. 其它分区都有test.exe, 我需要只运行C:\test.exe的.
但有c:\test.exe, 不过加了exec c:\test.exe ...

运行指定分区的话,最好创建一个与众不同的标志文件,比如在C分区下创建一个批处理文件/或者ini文件来启动程序,另外,在PE运行的程序是由一定要求的,依赖的dll库不能太多,可以在PE启动后,手动运行成功后再添加启动项。
作者: clautton    时间: 2017-6-27 14:15
谢谢. 和dll无关, 其实我想运行的是C:\Ghost.exe, 手动C:\Ghost.exe是能运行的.
也试过把Ghost.exe放在D:\Ghost.exe, 运行C:\Ghost.bat, 批处理文件的内容是D:\Ghost.exe.
但两种都不能开机后自动运行, 是我不懂怎样令到可以开机后自动运行.
作者: clautton    时间: 2017-6-27 14:16
不知 发表于 2017-6-26 08:18
运行指定分区的话,最好创建一个与众不同的标志文件,比如在C分区下创建一个批处理文件/或者ini文件来启 ...

谢谢. 和dll无关, 其实我想运行的是C:\Ghost.exe, 手动C:\Ghost.exe是能运行的.
也试过把Ghost.exe放在D:\Ghost.exe, 运行C:\Ghost.bat, 批处理文件的内容是D:\Ghost.exe.
但两种都不能开机后自动运行, 是我不懂怎样令到可以开机后自动运行.
作者: 807979023    时间: 2017-6-27 19:29
PECMD.INI最后加一句 exec =c:\test.exe
注意要加=
实在不行,删除Kill Explorer.exe

作者: clautton    时间: 2017-6-27 22:40
807979023 发表于 2017-6-27 19:29
PECMD.INI最后加一句 exec =c:\test.exe
注意要加=
实在不行,删除Kill Explorer.exe

加了=之后成功了. 谢谢.
作者: winpefk    时间: 2021-8-1 10:37
你把那个程序复制到pe的Windows目录下,EXEC %WinDir%\test.exe




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3