标题: [其他] 批处理怎样实现选择性操作? [打印本页]
作者: sotary 时间: 2008-12-12 09:13 标题: 批处理怎样实现选择性操作?
最近写了一个操作系统的服务自动优化批处理,
但由于用户的需求不一 ,不能对所有用户的服务一概而论,所以,我想在批处理实现的过程中让用户有选择性的开启或关闭一些服务。
比如有些用户有打印机,有些没有,
有些用户有扫描仪或摄像头之类的图像设备,而有些却不需要。
我的想法是,在批处理执行的过程中显示提醒信息,比如:
您是否拥有打印机或其他打印设备?
若有,请按Y
若无,请按N
按Y执行
sc config spooler start= auto
按N执行
sc config spooler start= disabled
选择完毕后继续执行下一条。
请高手指教!
作者: batman 时间: 2008-12-12 10:25
给个示例吧:- @echo off
- set /p select=请选择是继续还是退出(y:继续,n:退出)&cls
- if /i "%select%" equ "y" (
- goto contin
- ) else (
- if /i "%select%" equ "n" goto :eof
- )
- echo 程序已暂停&pause>nul
- :contin
- echo 程序继续进行&pause>nul
复制代码
作者: cd309420 时间: 2008-12-12 10:27
看看这是不是你想要的结果- @echo off
- :services
- echo 你即将对打印服务进行处理,请确定你 “是”“否” 使用打印机。
- set /p yn="《请输入 Y 或 N》"
- if %yn%==y goto auto
- if %yn%==Y goto auto
- if %yn%==n goto dis
- if %yn%==N goto dis
- cls
- echo "输入错误,请重新输入!"
- goto services
-
- :auto
- sc config "spooler" start= AUTO
- goto end
- :dis
- sc config "spooler" start= DISABLED
- :end
复制代码
[ 本帖最后由 cd309420 于 2008-12-12 10:37 编辑 ]
作者: wxcute 时间: 2008-12-12 11:16 标题: 也可以用第三方工具
- @echo off
- choice /m 你有没有打印设备阿
- if %errorlevel%==2 (echo N-换成你要执行的命令)
- if %errorlevel%==1 (echo Y-同上)
- echo 其他命令
- pause
复制代码
Choice 从这里下载
http://bbs.bathome.net/viewthread.php?tid=2245
作者: plp626 时间: 2011-6-16 00:05
- echo [Y^|N]
- sc /?|(find "Win32" >nul&&echo 选择Y后,执行这里,你可以跳转到你要执行的模块)
复制代码
作者: plp626 时间: 2011-6-16 00:10
本帖最后由 plp626 于 2011-6-16 00:23 编辑
- @echo off
-
- :loop
- echo 按Y执行spooler start= auto[Y^|N]:
-
- sc /?|find "Win32" >nul&&goto:auto
- echo N: spooler start= disabled
- sc config spooler start= disabled
- goto:loop
-
-
- :auto
- echo Y: spooler start= auto
- sc config spooler start= auto
- goto:loop
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |