中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求解goto :eof自寻过答案了..高手指点一下.
作者:
标题: 求解goto :eof自寻过答案了..高手指点一下. 上一主题 | 下一主题
itol
初级用户





积分 24
发帖 10
注册 2007-4-9
状态 离线
『楼 主』:  求解goto :eof自寻过答案了..高手指点一下.

:: 修改IDE通道检测设备模式,不接设备的设置为无,提高XP启动速度
:: 建议在系统第二次重新启动检测到所有已经安装的IDE设备后运行
:: Date: 2006.10.28
@set _debug=
@echo %_debug% off & setlocal ENABLEDELAYEDEXPANSION
set hkey1=HKLM\SYSTEM\CurrentControlSet\Enum\PCIIDE\IDEChannel
set hkey2=HKLM\SYSTEM\CurrentControlSet\Control\Class
for /f "usebackq tokens=*" %%I in (`reg query %hkey1% ^| find /i "IDEChannel\"`) do call :_check "%%I"
goto :eof

:_check
::echo %1
set subkey=
for /f "usebackq tokens=3*" %%J in (`reg query %1 ^| find /i "driver"`) do set subkey=%%J
set DriverDesc=
for /f "usebackq tokens=3,4*" %%K in (`reg query "%hkey2%\%subkey%" /v DriverDesc ^| find /i "driverdesc"`) do set DriverDesc=%%K %%L 通道
reg query "%hkey2%\%subkey%" /v MasterDeviceType | find /i "0x1" > nul
if %errorlevel%==1 goto _ChgMaster
goto _CheckSlave

:_ChgMaster
reg add "%hkey2%\%subkey%" /v UserMasterDeviceType /t REG_DWORD /d 3 /f
echo “%DriverDesc%”的设备0检测方式设置为无。

:_CheckSlave
reg query "%hkey2%\%subkey%" /v SlaveDeviceType | find /i "0x1" > nul
if %errorlevel%==1 goto _ChgSlave
goto :eof

:_ChgSlave
reg add "%hkey2%\%subkey%" /v UserSlaveDeviceType /t REG_DWORD /d 3 /f
echo “%DriverDesc%”的设备1检测方式设置为无。
goto :eof

pause :::此处命令不起效...加跳转命令不行..求解..主要想起个
跳转命令....但加上去后运行完直接关闭了..

[ Last edited by itol on 2007-6-17 at 12:35 PM ]

2007-6-17 12:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 2 楼』:  

我写的一个很老的批处理,是有错误的,下面是正确的,看下面的pause加在了什么位置。goto :eof表示直接跳到文件结尾,你的pause命令加在它后面肯定是不能获得运行的机会的,只有放到它前面才行。
:: 修改IDE通道检测设备模式,不接设备的设置为无,提高XP启动速度
:: 建议在系统第二次重新启动检测到所有已经安装的IDE设备后运行
:: Author: Climbing(xclimbing@msn.com)
:: Date: 2006.10.28
:: Last Modified: 2007.01.07
:: 主要更新:修正了检测方式,原则上应该不再出现修改错误的情况。同时提供了恢复文件,如果修改错了可以恢复原来的设置。
@set _debug=
@echo %_debug% off & setlocal ENABLEDELAYEDEXPANSION
set restorefile=RestoreIDECheckSettings.bat
echo @echo off > %restorefile%
set hkey1=HKLM\SYSTEM\CurrentControlSet\Enum\PCIIDE\IDEChannel
set hkey2=HKLM\SYSTEM\CurrentControlSet\Control\Class
for /f "usebackq tokens=*" %%I in (`reg query %hkey1% ^| find /i "IDEChannel\"`) do call :_check "%%I"
echo.
echo 修改成功结束!
echo 注意:如果修改出现错误,请使用当前目录下的 %restorefile% 批处理恢复原来的设置。
pause
goto :eof

:_check
::echo %1
set subkey=
for /f "usebackq tokens=3*" %%J in (`reg query %1 ^| find /i "driver"`) do set subkey=%%J
set DriverDesc=
for /f "usebackq tokens=3,4*" %%K in (`reg query "%hkey2%\%subkey%" /v DriverDesc ^| find /i "driverdesc"`) do set DriverDesc=%%K %%L 通道
reg query "%hkey2%\%subkey%" /v MasterDeviceType | find /i "0x0" > nul
if %errorlevel%==0 goto _ChgMaster
goto _CheckSlave

:_ChgMaster
echo ::“%DriverDesc%”的设备0检测方式设置为无。>>%restorefile%
echo ::相关命令:reg add "%hkey2%\%subkey%" /v UserMasterDeviceType /t REG_DWORD /d 3 /f >> %restorefile%
echo ::下面是恢复命令: >> %restorefile%
echo reg delete "%hkey2%\%subkey%" /v UserMasterDeviceType /f >>%restorefile%
echo ::=================================== >> %restorefile%
reg add "%hkey2%\%subkey%" /v UserMasterDeviceType /t REG_DWORD /d 3 /f
echo “%DriverDesc%”的设备0检测方式设置为无。

:_CheckSlave
reg query "%hkey2%\%subkey%" /v SlaveDeviceType | find /i "0x0" > nul
if %errorlevel%==0 goto _ChgSlave
goto :eof

:_ChgSlave
echo ::“%DriverDesc%”的设备1检测方式设置为无。>>%restorefile%
echo ::相关命令:reg add "%hkey2%\%subkey%" /v UserSlaveDeviceType /t REG_DWORD /d 3 /f >> %restorefile%
echo ::下面是恢复命令: >> %restorefile%
echo reg delete "%hkey2%\%subkey%" /v UserSlaveDeviceType /f >>%restorefile%
echo ::=================================== >> %restorefile%
reg add "%hkey2%\%subkey%" /v UserSlaveDeviceType /t REG_DWORD /d 3 /f
echo “%DriverDesc%”的设备1检测方式设置为无。
goto :eof




偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2007-6-18 08:27
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: