各种 Windows 应用程序(例如 Matlab、Altair、Nastran 等)使用许可证服务器,这些服务器需要系统环境变量 - LM_LICENSE_FILE 进行更新,其值将类似于:%MSC_LICENSE_FILE%;%MATLAB_LICENSE_FILE%;%ALTAIR_LM_LICENSE_FILE%(如果安装了这 3 个应用程序)。
使用 SETX 为各个应用程序设置变量很容易:
设置 MATLAB_LICENSE_FILE端口@服务器/米
但是我该如何设置 LM_LICENSE_FILE 变量来反映使用 .cmd 文件引用此变量的 PC 上安装的应用程序?理想情况下,它会查询 PC 以查看安装了哪些应用程序(使用 LM_LICENSE_FILE 环境变量的应用程序),设置单个应用程序系统环境变量,然后设置正确的 LM_LICENSE_VARIABLE 值。
提前致以问候和感谢
答案1
您可以在批处理文件中使用类似命令wmic product get name,version
列出已安装的程序,但这不会生成完整列表。因此,除了wmic
可以使用命令使批处理文件查询注册表中已知的程序安装位置(例如 HKCU\Software、HKLM\Software、HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall、HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall 等)reg
。
一旦您建立了已安装程序的列表,您的批处理文件就可以添加具有适当值所需的环境变量。