[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

  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
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

echo "%ExeName%"=%ExePath:\=\\% %Status% >>temp.reg
1

评分人数

TOP

回复 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
复制代码
解决了,可能很冗余,还望帮忙优化!~~

TOP

返回列表