我做了一个RPL无盘系统,因为要在替换大量的系统文件,在正常模式下是无法替换文件的,必须在安全模式下才能替换成功。我想实现这样的功能
1。判断系统当前运行的模式是否是安全模式?如果不是,提示用户切换到安全模式。
2。在安全模式下运行程序后RPL无盘使用的文件已经复制到系统中,但如何在本地连接属性中自动添加DLC和NETBIOS协议?(通过写注册表实现也可以)
我的部分代码(如何实现REM1和REM2中的步骤?):
目前已经解决了是否是安全模式的判断,采用9楼everest79的注册表方法和15楼NaturalJ0兄的工具都可以,非常感谢两位的帮助,现在主要的问题是如何CMD下或使用DOS工具安装网络协议。
[ Last edited by HUNRYBECKY on 2006-12-30 at 10:16 PM ]
1。判断系统当前运行的模式是否是安全模式?如果不是,提示用户切换到安全模式。
2。在安全模式下运行程序后RPL无盘使用的文件已经复制到系统中,但如何在本地连接属性中自动添加DLC和NETBIOS协议?(通过写注册表实现也可以)
我的部分代码(如何实现REM1和REM2中的步骤?):
@ECHO OFF
REM 本程序用于设置远程启动的注册表和其他项目,需要则安全模式下使用.
REM 1.判断系统是否是安全模式,这里采用人工判断
>%Temp%\msg.vbs ECHO intAnswer = MsgBox("本设置只能在安全模式下进行,要继续吗?" + vbCrLf + "安全模式下替换了相关文件后需要重新启动系统在正常模式下添加DLC和NETBIOS协议!", vbExclamation+vbYesNo, "小不点温馨提示!")
>>%Temp%\msg.vbs ECHO IF intAnswer = vbYes Then
>>%Temp%\msg.vbs ECHO Wscript.Echo "GO"
>>%Temp%\msg.vbs ECHO ELSE
>>%Temp%\msg.vbs ECHO Wscript.Echo "END"
>>%Temp%\msg.vbs ECHO END IF
FOR /f "delims=" %%i in ('"cscript //nologo %Temp%\msg.vbs"') do (GOTO %%i)
:GO
REM 2.复制协议文件和替换相关文件
XCOPY /S/C/H/R/Y backup\files\*.* %WINDIR%\ & CLS
REM 3.安装协议,这里提示手动安装
REM 4.设置注册表远程启动项目:其实可以直接把Directory改为字符串导入也可以,这里保留REG_EXPAND_SZ类型
REM 还需要注意,BINSUB工具只能修改ANSII编码格式,所以直接导出的注册表无法直接替换,需要使用TYPE命令转化为ANSII码(原创)
SET CPATH=%CD%
CD backup\reg\
ECHO SET RPATH=%CPATH%>RPATH.BAT
binsub RPATH.BAT \ \\ /I & CLS
CALL RPATH.BAT
TYPE CR.BAK >CR.SVR
binsub CR.SVR C:\\Rpl\\ %RPATH%\\ /I & CLS
REGEDIT /S CR.SVR & CLS
IF EXIST RPATH.BAT DEL RPATH.BAT /Q/F
IF EXIST *.ubk DEL *.ubk /Q/F
IF EXIST CR.SVR DEL CR.SVR /Q/F
CHCP 936 & CLS
SET RB1=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\RemoteBoot\Parameters
REG ADD "%RB1%" /V Directory /t REG_EXPAND_SZ /d "%CPATH%" /f & CLS
SET RB2=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\RemoteBoot\Parameters
REG ADD "%RB2%" /V Directory /t REG_EXPAND_SZ /d "%CPATH%" /f & CLS
SET RB3=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteBoot\Parameters
REG ADD "%RB3%" /V Directory /t REG_EXPAND_SZ /d "%CPATH%" /f & CLS
CD..\..
DIR
GOTO END
:END
IF EXIST %TEMP%\MSB.VBS DEL %TEMP%\MSB.VBS /F/Q
@ECHO ON
EXIT
目前已经解决了是否是安全模式的判断,采用9楼everest79的注册表方法和15楼NaturalJ0兄的工具都可以,非常感谢两位的帮助,现在主要的问题是如何CMD下或使用DOS工具安装网络协议。
[ Last edited by HUNRYBECKY on 2006-12-30 at 10:16 PM ]
