PE下怎么通过PECMD或者不使用任何工具以卷标定位分配指定盘符运行指定程序
本帖最后由 xuexiang 于 2019-1-25 23:52 编辑PE下怎么通过PECMD或者不使用任何工具
以卷标定位分配指定盘符运行指定程序
比如
我有个联想隐藏分区卷标为PBR_DRV
怎么直接分配这个分区指定盘符后运行指定程序
本帖最后由 527104427 于 2019-1-25 23:11 编辑
不必一股脑地把隐藏分区全显示出来,而是找到符合条件的才分配盘符。
CALL AAA
_SUB AAA
PART list disk,&a
FORX * %&a%,&b,
{
PART list part %&b%,&c
FORX * %&c%,&d,
{
FDRV *vol &e=\\?\Harddisk%&b%Partition%&d%
FIND $%&e%=PBR_DRV,
{
SHOW %&b%:%&d%,Z
EXEC =Z:\想要运行的程序.exe
EXIT _SUB
}
}
}
_END
为了避免交流不畅,附上PECMD:
本帖最后由 sunsea 于 2019-1-25 18:50 编辑
@echo off
setlocalENABLEDELAYEDEXPANSION
set letters=A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
:sth
for /f "tokens=1,* delims=," %%i in ("!letters!") do(
vol %%i: | findstr PBR_DRV > nul
if not errorlevel 1 (
%%i:
rem 在这里做一些你想做的事情
)
set letters=%%j
)
if not "!letters!"=="" goto sth
http://bbs.wuyou.net/forum.php?mod=viewthread&page=1&tid=132417 可以其他语言编程实现 但是PECMD脚本怎么实现不知道 本帖最后由 sunsea 于 2019-1-25 21:35 编辑
@echo off
setlocalENABLEDELAYEDEXPANSION
set letters=A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
:sth
for /f "tokens=1,* delims=," %%i in ("!letters!") do (
vol %%i: | findstr PBR_DRV >nul 2>nul
if not errorlevel 1 (
%%i:
rem 在这里做一些你想做的事情,%%i是当前盘符
)
set letters=%%j
)
if not "!letters!"=="" goto sth
抱歉,刚刚do后面少了一个空格导致了错误。保存为bat即可。还有不要用点评,点评是无法被回复的。
这里适用于你的分区已经显示的情况,如果还是隐藏的话,要用PECMD先显示隐藏分区,在
@echo off后面加
PECMD SHOW * -1:-1,,3000这里的PECMD应当是PECMD2012。
本帖最后由 xuexiang 于 2019-1-25 23:44 编辑
527104427 发表于 2019-1-25 23:08
不必一股脑地把隐藏分区全显示出来,而是找到符合条件的才分配盘符。
系统下刚刚试了一下
成功了
附件刚下载就被wd给干了
下了两次,本地有就直接使用以前的了
页:
[1]