批处理文件;从指定目录的顶级文件夹运行 exe

批处理文件;从指定目录的顶级文件夹运行 exe

问题; 有没有办法将该批处理文件指向 C:\Program Files\Autodesk\.. 中的 AutoCAD 20xx 最新版本文件夹(最高年份)?


一般背景;

许多员工运行这个批处理文件,代码显示如下(仅供参考:我仅显示该问题所需的部分)。

基本上,批处理文件会打开一个 *.EXE(Autocad),然后应用一个脚本和一大堆其他不相关的内容。无论如何,每个用户都在他们的电脑上运行此程序的不同版本(年份),因此每个用户在运行之前都必须手动将批处理编辑为他们安装的版本(即 2022、2019、2017 等),否则它会开始抛出错误。

代码;适用于 2022 版用户

"C:\Program Files\Autodesk\AutoCAD 2022\acad.exe"

代码;适用于2019版本用户

"C:\Program Files\Autodesk\AutoCAD 2019\acad.exe"

目标

代码;适用于任何版本

"C:\Program Files\Autodesk\AutoCAD *HIGHEST AutoCAD FOLDER NUMBER*\acad.exe"

另外回答一个显而易见的问题,我知道所有用户都采用 ONE 版本就可以解决这个问题,但有些用户拒绝升级,但那是另一个故事......

答案1

这可能会很混乱,但如果只有几年的版本,最简单的方法是使用多个 if/else 语句。

有关信息请参阅此处

您可以使用类似的代码来检查最新版本是否存在,然后运行它。否则,如果不存在,则检查下一个版本并运行该版本,等等。

答案2

使用for /d循环将最后一个(按名称)匹配的文件夹捕获到变量中:

for /D %%a in ("C:\Program Files\Autodesk\AutoCAD *") do set "ACFolder=%%a"

for /?参阅详情。

如果需要,请set "ACFolder=%%a"用“set“ACexe=%%a\acad.exe”替换

相关内容