Board logo

标题: 这个批处理错在那里? [打印本页]

作者: senffon     时间: 2009-2-20 14:34    标题: 这个批处理错在那里?

@echo off
CLS
COLOR 0b
MODE con: COLS=50 LINES=20
@echo.
@echo 1. 启用VBS缩主执行功能
@echo.
@echo 2. 禁用VBS缩主执行功能
@echo.
@echo 3. 修复MS_ADO数据连接组件
@echo.
SET Choice=
SET /P Choice= 请选择(1或2):
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
ECHO.
IF /I "%Choice%"=="1" GOTO envbs
IF /I "%Choice%"=="2" GOTO disvbs
IF /I "%Choice%"=="3" GOTO FIXADO
goto :eof

:envbs
call :vbsfile /s
@pause>nul|echo. 启用VBS缩主执行功能成功完成,按任一键退出!
goto :eof

:disvbs
call :vbsfile /s /u
@pause>nul|echo. 禁用VBS缩主执行功能成功完成,按任一键退出!
goto :eof

:vbsfile
shift
regsvr32 scrrun.dll %%1 %%2
regsvr32 wshom.ocx %%1 %%2
regsvr32 scrobj.dll %%1 %%2
regsvr32 wshext.dll %%1 %%2
regsvr32 wshcon.dll %%1 %%2
regsvr32 jscript.dll %%1 %%2
regsvr32 vbscript.dll %%1 %%2
regsvr32 "%Commonprogramfiles%\system\ado\msado15.dll" %%1 %%2
Regsvr32 "%Commonprogramfiles%\System\Ole DB\oledb32.dll" %%1 %%2
goto :eof

:FIXADO
regsvr32 /s %Commonprogramfiles%\system\ado\msado15.dll
regsvr32 /s "%Commonprogramfiles%\System\ado\msado15.dll"
regsvr32 /s "%Commonprogramfiles%\System\ado\msador15.dll"
regsvr32 /s "%Commonprogramfiles%\System\ado\msadox.dll"
regsvr32 /s "%Commonprogramfiles%\System\ado\msadomd.dll"
Regsvr32 /s "%Commonprogramfiles%\System\Ole DB\oledb32.dll"
@pause>nul|echo. 修复MS_ADO数据连接组件成功,按任一键退出!
goto :eof



作者: senffon     时间: 2009-2-20 15:05
版主不在?

作者: senffon     时间: 2009-2-20 15:24
@echo off
CLS
COLOR 0b
MODE con: COLS=50 LINES=20
@echo.
@echo 1. 启用VBS缩主执行功能
@echo.
@echo 2. 禁用VBS缩主执行功能
@echo.
@echo 3. 修复MS_ADO数据连接组件
@echo.
SET Choice=
SET /P Choice= 请选择(1或2):
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
ECHO.
IF /I "%Choice%"=="1" GOTO envbs
IF /I "%Choice%"=="2" GOTO disvbs
IF /I "%Choice%"=="3" GOTO FIXADO
goto :eof

:envbs
call :vbsfile
@pause>nul|echo. 启用VBS缩主执行功能成功完成,按任一键退出!
goto :eof

:disvbs
call :vbsfile -u
@pause>nul|echo. 禁用VBS缩主执行功能成功完成,按任一键退出!
goto :eof

:vbsfile
regsvr32 scrrun.dll /s
regsvr32 wshom.ocx /s
regsvr32 scrobj.dll /s
regsvr32 wshext.dll /s
regsvr32 wshcon.dll /s
regsvr32 jscript.dll /s
regsvr32 vbscript.dll /s
goto :eof

:FIXADO
regsvr32 /s "%Commonprogramfiles%\System\ado\msado15.dll"
regsvr32 /s "%Commonprogramfiles%\System\ado\msador15.dll"
regsvr32 /s "%Commonprogramfiles%\System\ado\msadox.dll"
regsvr32 /s "%Commonprogramfiles%\System\ado\msadomd.dll"
regsvr32 /s "%Commonprogramfiles%\system\ado\msado15.dll"
Regsvr32 /s "%Commonprogramfiles%\System\Ole DB\oledb32.dll"
@pause>nul|echo. 修复MS_ADO数据连接组件成功,按任一键退出!
goto :eof

作者: HAT     时间: 2009-2-20 15:38
能否在帖子标题中描述一下代码的功能?

作者: tireless     时间: 2009-2-20 17:16
改成这样:
@echo off
CLS
COLOR 0b
MODE con: COLS=50 LINES=20
echo.
echo 1. 启用VBS缩主执行功能
echo.
echo 2. 禁用VBS缩主执行功能
echo.
echo 3. 修复MS_ADO数据连接组件
echo.
SET Choice=
SET /P Choice= 请选择(1或2):
ECHO.
goto %Choice:~,1%

:1 envbs
call :vbsfile
pause>nul|echo. 启用VBS缩主执行功能成功完成,按任一键退出!
goto :eof

:2 disvbs
call :vbsfile /u
pause>nul|echo. 禁用VBS缩主执行功能成功完成,按任一键退出!
goto :eof

:vbsfile
regsvr32 scrrun.dll /s %1
regsvr32 wshom.ocx /s %1
regsvr32 scrobj.dll /s %1
regsvr32 wshext.dll /s %1
regsvr32 wshcon.dll /s %1
regsvr32 jscript.dll /s %1
regsvr32 vbscript.dll /s %1
regsvr32 "%Commonprogramfiles%\system\ado\msado15.dll" /s %1
Regsvr32 "%Commonprogramfiles%\System\Ole DB\oledb32.dll" /s %1
goto :eof

:3 FIXADO
regsvr32 /s %Commonprogramfiles%\system\ado\msado15.dll
regsvr32 /s "%Commonprogramfiles%\System\ado\msado15.dll"
regsvr32 /s "%Commonprogramfiles%\System\ado\msador15.dll"
regsvr32 /s "%Commonprogramfiles%\System\ado\msadox.dll"
regsvr32 /s "%Commonprogramfiles%\System\ado\msadomd.dll"
Regsvr32 /s "%Commonprogramfiles%\System\Ole DB\oledb32.dll"
pause>nul|echo. 修复MS_ADO数据连接组件成功,按任一键退出!

作者: senffon     时间: 2009-2-27 05:36
原来如此