|
轉帖
請請教zhs509
非常感谢2011mking 老大提供的跳过空驱动器加载相关文件方法,避免跳出错误提示
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=204621&page=136#pid2437329
解决方案如下(原来VBS写环境用于Pe登陆前无法生效,现改为输出参数到CMD):
DiskEnv.vbs (放到system32下)
-----------------------
On Error Resume Next
Dim fso, SubDrives, i,DDS
Set fso = CreateObject("Scripting.FileSystemObject")
Set SubDrives = fso.Drives
set ws=WScript.CreateObject("WScript.Shell")
For Each i In SubDrives
if i.IsReady=true then DDS=DDS&" "&i.DriveLetter
Next
WScript.StdOut.Write DDS & Chr(13)
Findpetools.cmd 调用(仅示例,可以用自已的cmd)
----------------------------
@echo off
PUSHD %~dp0
for /f "delims=" %%a in ('Wscript //nologo %CD%\DiskEnv.vbs') do (
set DDS=%%a)
for %%a in (%DDS%) do (
if exist %%a:\PETOOLS\安装驱动.cmd Pecmd Exec !=%%a:\PETOOLS\外置安装.cmd && goto :end)
:end
Exit
注意,我这里的FindPetools是与DiskEnv.vbs放在同一目录的,如果没有放在同一目录,请改语句中的%CD%为相应的DiskEnv.vbs所在目录
将红字部份改为你的代码就行了。
[ 本帖最后由 2011mking 于 2012-5-9 00:44 编辑 ]
---------------------------------------------------------------------------------------------------------
谢谢老大,刚刚重启测试加载外置没问题了
[Copy to clipboard] [ - ]
CODE:
@echo off
PUSHD %~dp0
for /f "delims=" %%a in ('Wscript //nologo %CD%\DiskEnv.vbs') do (
set DDS=%%a)
for %%a in (%DDS%) do (
PECMD.EXE LOAD %%a:\PETOOLS\PETOOLS.INI
dir /a %%a:\PETOOLS >nul 2>nul&&(
for /f "delims=" %%b in ('dir %%a:\PETOOLS /a-d /b /s') do PECMD LINK %%startmenu%%\%%~pb\%%~nxb,%%b
)
)
[ 本帖最后由 zhs509 于 2012-5-9 01:03 编辑 ]
[ 本帖最后由 cpc 于 2012-7-9 17:28 编辑 ] |
|