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

[文本处理] [已解决]求大神对批处理优化、勘误

本帖最后由 zldarwin 于 2023-9-19 12:35 编辑

近日通过论坛帮助,解决了多年的兼容性设置问题(站内链接),感谢 Batcher 的专业解答。

随后补充细节,虽测试正常,仍怕隐藏致命问题,仍想继续完善,诚邀大神们指正。

看看能否“优化语句语法、精简代码、使逻辑顺序更合理”等。

批处理用于执行自解压安装包后的自动设定
  1. ::
  2. ::旨在优化电子课堂安装流程
  3. ::
  4. @echo off
  5. set AppName=幼幼版3~4岁D.exe
  6. set CompLayer=~ WIN7RTM
  7. set Folder=幼幼版3~4岁D
  8. ::创建自定义桌面快捷方式
  9. set qbmname=创意阅读(上)2~3岁 D.lnk
  10. set qbmexec=%~dp0幼幼版3~4岁D.exe
  11. mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""Desktop"") & ""\%qbmname%""):b.TargetPath=""%qbmexec%"":b.WorkingDirectory=""%~dp0"":b.Save:close")
  12. ::检测系统版本后,安装不同版本Adobe Air
  13. for /f "delims=" %%i in ('ver') do (
  14.     set "version=%%i"
  15. )
  16. set "version=%version:~-9,3%"
  17. if "%version%" equ "6.1" (
  18.     echo Windows 7
  19.     start %Folder%\adobeAirV32.exe
  20. ) else (
  21.     echo Windows 10/11
  22.     ::Win10/Win11下,设置系统兼容性
  23.     reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "%~dp0%AppName%" /t REG_SZ /d "%CompLayer%" /f
  24.     start %Folder%\adobeAirV29.exe
  25. )
  26. ::打开官网登录页
  27. start http://www.magepark.cn/login/
复制代码
1

评分人数

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

回复 1# zldarwin
  1. set "AppName=幼幼版3~4岁D.exe"
复制代码
set命令使用双引号的好处:
1、避免字符串里面有特殊字符导致出错。
2、避免行尾不小心出现多余空格导致出错。
  1. start "" "%Folder%\adobeAirV29.exe"
复制代码
start命令使用双引号的好处:
避免路径中包含空格或特殊字符导致出错。
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher


   
收到,感谢 Batcher ~

TOP

返回列表