标题: [已解决]请教批处理语句的流程控制---判断问题,请帮忙完善以下代码,谢谢! [打印本页]
作者: xzwcn 时间: 2013-2-19 21:46 标题: [已解决]请教批处理语句的流程控制---判断问题,请帮忙完善以下代码,谢谢!
- @echo on
- set /p ExePath=请输入或拖入要开机自动启动的程序的路径:
- set /p ExeName=请输入程序名称:
- echo 是否需要设置为启动后自动隐藏界面(路径后添加参数-hide -autostart)?
- @echo off
-
- set Status= -hide -autostart
-
- ::如果要做到,当输入Y时就在路径后添加参数-hide -autostart,N则不添加,选择A则自定义输入参数这里上下句应该怎样设置呢?
- ::即:怎样写一个判断,当输入Y,添加参数,N则跳过。输入A,则自定义添加参数:
- set /p Status=请输入要添加的参数:
-
- echo Windows Registry Editor Version 5.00 >temp.reg
- echo [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >>temp.reg
-
- ::当要在路径后添加参数时(即上面的选择Y),执行这句:
- echo "%ExeName%"=%ExePath:\=\\% %Status% >>temp.reg
- ::不需要时,执行这句:
- echo "%ExeName%"=%ExePath:\=\\% >>temp.reg
- regedit /s temp.reg
- del /q /f temp.reg
- timeout 3
复制代码
作者: group 时间: 2013-2-19 22:37
echo "%ExeName%"=%ExePath:\=\\% %Status% >>temp.reg
作者: xzwcn 时间: 2013-2-21 18:00
回复 2# group - @echo off
- set /p ExePath=请输入或拖入要开机自动启动的程序的路径:
- set /p ExeName=请输入程序名称:
- echo Windows Registry Editor Version 5.00 >temp.reg
- echo [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >>temp.reg
- set /p Status=是否需要在路径后添加参数?,请输入Y或N:
- echo %Status%
- if /i %Status% equ Y goto Y
- if /i %Status% equ N goto N
- :Y
- set ExePath2=%ExePath:"=%
- ::去掉路径中的引号
- set /p Status=请输入要添加的参数:
- set ExePathParam="%ExePath2% %Status%"
- echo "%ExeName%"=%ExePathParam:\=\\%>>temp.reg
- goto z
- :N
- echo "%ExeName%"=%ExePath:\=\\% >>temp.reg
- goto z
- :z
- regedit /s temp.reg
- del /q /f temp.reg
- timeout 3
复制代码
解决了,可能很冗余,还望帮忙优化!~~
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |