Board logo

标题: [已解决]请教批处理语句的流程控制---判断问题,请帮忙完善以下代码,谢谢! [打印本页]

作者: xzwcn    时间: 2013-2-19 21:46     标题: [已解决]请教批处理语句的流程控制---判断问题,请帮忙完善以下代码,谢谢!

  1. @echo on
  2. set /p ExePath=请输入或拖入要开机自动启动的程序的路径:
  3. set /p ExeName=请输入程序名称:
  4. echo 是否需要设置为启动后自动隐藏界面(路径后添加参数-hide -autostart)?
  5. @echo off
  6. set Status= -hide -autostart
  7. ::如果要做到,当输入Y时就在路径后添加参数-hide -autostart,N则不添加,选择A则自定义输入参数这里上下句应该怎样设置呢?
  8. ::即:怎样写一个判断,当输入Y,添加参数,N则跳过。输入A,则自定义添加参数:
  9. set /p Status=请输入要添加的参数:
  10. echo Windows Registry Editor Version 5.00 >temp.reg                                                         
  11. echo [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >>temp.reg
  12. ::当要在路径后添加参数时(即上面的选择Y),执行这句:
  13. echo "%ExeName%"=%ExePath:\=\\% %Status% >>temp.reg
  14. ::不需要时,执行这句:
  15. echo "%ExeName%"=%ExePath:\=\\% >>temp.reg
  16. regedit /s temp.reg
  17. del /q /f temp.reg
  18. timeout 3
复制代码

作者: group    时间: 2013-2-19 22:37

echo "%ExeName%"=%ExePath:\=\\% %Status% >>temp.reg
作者: xzwcn    时间: 2013-2-21 18:00

回复 2# group
  1. @echo off
  2. set /p ExePath=请输入或拖入要开机自动启动的程序的路径:
  3. set /p ExeName=请输入程序名称:
  4. echo Windows Registry Editor Version 5.00 >temp.reg                                                         
  5. echo [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >>temp.reg
  6. set /p Status=是否需要在路径后添加参数?,请输入Y或N:
  7. echo %Status%
  8. if /i %Status% equ Y goto Y
  9. if /i %Status% equ N goto N
  10. :Y
  11. set ExePath2=%ExePath:"=%
  12. ::去掉路径中的引号
  13. set /p Status=请输入要添加的参数:
  14. set ExePathParam="%ExePath2% %Status%"
  15. echo "%ExeName%"=%ExePathParam:\=\\%>>temp.reg
  16. goto z
  17. :N
  18. echo "%ExeName%"=%ExePath:\=\\% >>temp.reg
  19. goto z
  20. :z
  21. regedit /s temp.reg
  22. del /q /f temp.reg
  23. timeout 3
复制代码
解决了,可能很冗余,还望帮忙优化!~~




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2