无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: clautton

[求助] 怎样给pe加入开机后自动运行的程序?

[复制链接]
发表于 2017-6-25 11:46:40 | 显示全部楼层 |阅读模式
例如我想开机后自动运行C:\test.exe

谢谢.
发表于 2017-6-25 11:47:39 | 显示全部楼层
需要修改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  详情 回复 发表于 2017-6-25 11:55
回复

使用道具 举报

 楼主| 发表于 2017-6-25 11:55:27 | 显示全部楼层
本帖最后由 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:23 | 显示全部楼层
PECMD.ini(PE启动的配置文件一般在 Windows/System32/下)中添加 "EXEC C:\test.exe" ,具体EXEC的参数可以看PECMD中的帮助

点评

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  详情 回复 发表于 2017-6-25 12:09
回复

使用道具 举报

 楼主| 发表于 2017-6-25 12:09:55 | 显示全部楼层
金 发表于 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:44 | 显示全部楼层
由于进入PE时,除X盘外,其它分区具体盘符不可确定。一般不使用盘符,而让pecmd自行搜索。
如:
EXEC \test.exe
这样pecmd会自行搜索所有分区根目录的下test.exe。

点评

谢谢. 其它分区都有test.exe, 我需要只运行C:\test.exe的. 但有c:\test.exe, 不过加了exec c:\test.exe也没反应.  详情 回复 发表于 2017-6-25 22:39
回复

使用道具 举报

 楼主| 发表于 2017-6-25 22:39:02 | 显示全部楼层
不知 发表于 2017-6-25 20:17
由于进入PE时,除X盘外,其它分区具体盘符不可确定。一般不使用盘符,而让pecmd自行搜索。
如:
EXEC \te ...

谢谢. 其它分区都有test.exe, 我需要只运行C:\test.exe的.
但有c:\test.exe, 不过加了exec c:\test.exe也没反应.

点评

运行指定分区的话,最好创建一个与众不同的标志文件,比如在C分区下创建一个批处理文件/或者ini文件来启动程序,另外,在PE运行的程序是由一定要求的,依赖的dll库不能太多,可以在PE启动后,手动运行成功后再添加启  详情 回复 发表于 2017-6-26 08:18
回复

使用道具 举报

发表于 2017-6-26 08:18:10 来自手机 | 显示全部楼层
clautton 发表于 2017-6-25 22:39
谢谢. 其它分区都有test.exe, 我需要只运行C:\test.exe的.
但有c:\test.exe, 不过加了exec c:\test.exe ...

运行指定分区的话,最好创建一个与众不同的标志文件,比如在C分区下创建一个批处理文件/或者ini文件来启动程序,另外,在PE运行的程序是由一定要求的,依赖的dll库不能太多,可以在PE启动后,手动运行成功后再添加启动项。

点评

谢谢. 和dll无关, 其实我想运行的是C:\Ghost.exe, 手动C:\Ghost.exe是能运行的. 也试过把Ghost.exe放在D:\Ghost.exe, 运行C:\Ghost.bat, 批处理文件的内容是D:\Ghost.exe. 但两种都不能开机后自动运行, 是我不懂怎  详情 回复 发表于 2017-6-27 14:16
回复

使用道具 举报

 楼主| 发表于 2017-6-27 14:15:51 | 显示全部楼层
谢谢. 和dll无关, 其实我想运行的是C:\Ghost.exe, 手动C:\Ghost.exe是能运行的.
也试过把Ghost.exe放在D:\Ghost.exe, 运行C:\Ghost.bat, 批处理文件的内容是D:\Ghost.exe.
但两种都不能开机后自动运行, 是我不懂怎样令到可以开机后自动运行.
回复

使用道具 举报

 楼主| 发表于 2017-6-27 14:16:20 | 显示全部楼层
不知 发表于 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.
但两种都不能开机后自动运行, 是我不懂怎样令到可以开机后自动运行.
回复

使用道具 举报

发表于 2017-6-27 19:29:28 | 显示全部楼层
PECMD.INI最后加一句 exec =c:\test.exe
注意要加=
实在不行,删除Kill Explorer.exe

点评

加了=之后成功了. 谢谢.  详情 回复 发表于 2017-6-27 22:40
回复

使用道具 举报

 楼主| 发表于 2017-6-27 22:40:42 | 显示全部楼层
807979023 发表于 2017-6-27 19:29
PECMD.INI最后加一句 exec =c:\test.exe
注意要加=
实在不行,删除Kill Explorer.exe

加了=之后成功了. 谢谢.
回复

使用道具 举报

发表于 2021-8-1 10:37:44 来自手机 | 显示全部楼层
你把那个程序复制到pe的Windows目录下,EXEC %WinDir%\test.exe
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-29 18:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表