EDA365电子论坛网

标题: 如何用skill修改操作系统的环境变量? [打印本页]

作者: fenghaili    时间: 2016-10-18 09:08
标题: 如何用skill修改操作系统的环境变量?
我指的是修改如下操作系统的环境变量,而不是用axlSetVariable来修改变量。axlSetVariable修改的变量只在allegro内起作用。 我是希望修改操作系统里面的环境变量



作者: betamelody    时间: 2016-10-18 14:01
  1. _g_frmfle = outfile(strcat(getWorkingDir() "/down15.vbs"))
  2. fprintf( _g_frmfle "Set pSysEnv = CreateObject(\"WScript.Shell\").Environment(\"User\")\n\n")
  3. fprintf( _g_frmfle "Function IsMatch(Str, Patrn)\n")
  4. fprintf( _g_frmfle "  Set r = new RegExp\n")
  5. fprintf( _g_frmfle "  r.Pattern = Patrn\n")
  6. fprintf( _g_frmfle "  IsMatch = r.test(Str)\n")
  7. fprintf( _g_frmfle "End Function\n")
  8. fprintf( _g_frmfle "Sub SetEnv(pPath, pValue)\n")
  9. fprintf( _g_frmfle "    Dim ExistValueOfPath\n")
  10. fprintf( _g_frmfle "    IF pValue <> \"\" Then\n")
  11. fprintf( _g_frmfle "     ExistValueOfPath = pSysEnv(pPath)\n")
  12. fprintf( _g_frmfle " IF Right(pValue, 1) = \"\\\" Then pValue = Left(pValue, Len(pValue)-1)\n")
  13. fprintf( _g_frmfle " If IsMatch(ExistValueOfPath, \"\\*?\" & Replace(pValue, \"\\\", \"\\\\\") & \"\\\\?(\\b|;)\") Then Exit Sub\n")
  14. fprintf( _g_frmfle " If ExistValueOfPath <> \"\" Then pValue = \";\" & pValue\n")
  15. fprintf( _g_frmfle " pSysEnv(pPath) = ExistValueOfPath & pValue \n")
  16. fprintf( _g_frmfle "    Else\n")
  17. fprintf( _g_frmfle " pSysEnv.Remove(pPath)\n")
  18. fprintf( _g_frmfle "    End IF\n")
  19. fprintf( _g_frmfle "End Sub\n")
  20. fprintf( _g_frmfle "TOF = \"1\"\n")
  21. fprintf( _g_frmfle "SetEnv \"DOWNREV_16_TO_15\", TOF\n")
  22. close(_g_frmfle)
  23. shell(strcat(getWorkingDir() "/down15.vbs"))
复制代码


以上是设置用户变量的示例
可以根据这个代码来快速修改,SetEnv为设置变量的函数,变量名是DOWNREV_16_TO_15  值为1
作者: fenghaili    时间: 2016-10-18 16:20
betamelody 发表于 2016-10-18 14:01
以上是设置用户变量的示例
可以根据这个代码来快速修改,SetEnv为设置变量的函数,变量名是DOWNREV_16_T ...

多谢分享。很有用,我学习一下。!

作者: 皓月星光    时间: 2016-10-19 07:41
为三级会员而奋斗




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2