为了账号安全,请及时绑定邮箱和手机立即绑定

为什么其他文件夹路径也添加到使用SetX的系统PATH而不仅是指定的文件夹路径?

为什么其他文件夹路径也添加到使用SetX的系统PATH而不仅是指定的文件夹路径?

精慕HU 2019-07-31 10:46:24
为什么其他文件夹路径也添加到使用SetX的系统PATH而不仅是指定的文件夹路径?我有一个批处理文件,我从C ++调用system("name.bat")。在该批处理文件中,我试图读取注册表项的值。从C ++调用批处理文件会导致set KEY_NAME=HKEY_LOCAL_MACHINE\stuff失败。但是,当我直接运行批处理文件(双击它)时,它运行正常。不确定我做错了什么。批处理文件:set KEY_NAME=HKEY_LOCAL_MACHINE\SOFTWARE\Ansoft\Designer\2014.0\Desktopset VALUE_NAME=InstallationDirectoryREG QUERY %KEY_NAME% /v %VALUE_NAME%C ++文件:int main(void){     system("CALL C:\\HFSS\\setup_vars.bat");     return 0;}更新1:我发现密钥实际上是在64位注册表中,而我正在构建一个32位的C ++解决方案。一旦我修复了它,它发现注册表键很好。现在我在将该路径添加到PATH变量时出现问题。它不是创建系统变量,而是创建用户变量PATH并将其添加到那里。从命令行运行。码:set KEY_NAME=HKLM\SOFTWARE\Ansoft\Designer\2014.0\Desktop\set VALUE_NAME=InstallationDirectoryFOR /F "usebackq skip=1 tokens=1,2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME%`) DO (    set ValueName=%%A    set ValueType=%%B    set ValueValue=%%C)if defined ValueName (    @echo Value Value = %ValueValue%) else (    @echo %KEY_NAME%\%VALUE_NAME% not found.):: Set PATH Variableset path_str=%PATH%set addPath=%ValueValue%;echo %addPath%echo %ValueValue%echo %PATH%| find /i "%addPath%">NULif NOT ERRORLEVEL 1 (    SETX PATH "%PATH%) else (    SETX PATH "%PATH%;%addPath%;" /M)更新2:我移动了选项/ M的位置,现在它正在添加到正确的PATH变量。但是,当我这样做时,它不止一次添加PATH(3次),然后它还添加了一个到visual studio amd64文件夹的路径。我很确定为什么会这样。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 681 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信