我有一个批处理文件 "file.bat",它将使用以下命令调用安装程序:
安装程序将会安装一个程序并更新路径变量。 虽然这样做很好,但问题在于当我尝试启动程序时,它找不到,因为明显路径变量没有更新。 我尝试从批处理文件中重新启动自己来解决问题:
msiexec.exe /i "%~dp0\installer.msi"
安装程序将会安装一个程序并更新路径变量。 虽然这样做很好,但问题在于当我尝试启动程序时,它找不到,因为明显路径变量没有更新。 我尝试从批处理文件中重新启动自己来解决问题:
start cmd /c file.bat
但是它没有起作用。有没有一种方法可以刷新PATH变量,或者重新启动批处理文件以在新进程中检测新环境?
PS:手动重新启动批处理文件当然可以,但这不是我想要的。
谢谢。
set path=%path%;C:\Some other folder
- SquashmanPATH
值,你需要直接从注册表中使用命令 reg 或命令 setx 读取该值,并将本地的PATH
更新或替换为新的系统PATH
。例如,参考 Why are other folder paths also added to system PATH with SetX and not only the specified folder path? 中的答案,了解如何直接从注册表获取系统PATH
。 - Mofi