环境变量 %PROGRAMFILES% 有 2 次执行

环境变量 %PROGRAMFILES% 有 2 次执行

我想用批处理文件安装一个程序到程序文件文件夹。之后我想将一个文件夹复制到同一个文件夹。以下是示例:

SET SCRIPT_LOCATION=%~dp0
SET INSTALLATION_PATH=%PROGRAMFILES%\example program

"%SCRIPT_LOCATION%\example program\setup.exe"

现在应该将其他文件复制到程序文件夹:

xcopy "%SCRIPT_LOCATION%\additional_files" "%INSTALLATION_PATH%example program\additional_files" /E

问题是,该程序仅支持 32 位。这意味着该程序将安装在“C:\Program Files (x86)\示例程序”在 64 位机器上。

但执行复制时,文件将安装在“C:\Program Files\示例程序\附加文件”。但附加文件应安装到与程序相同的路径下。

我知道操作系统决定何时使用哪条路径程序文件使用。操作系统检查该程序是否支持 64 位机器。

我认为一个可能的解决方案是询问机器类型(32/64位)并决定是否 程序文件或者%程序文件 (x86)%应该与 if 子句一起使用。或者有没有办法将安装路径解析为变量并在以后用于复制?

还有其他好方法可以为我的问题包含环境变量吗?

相关内容