【问题标题】:How to enumerate my environmental variables in JScript?如何枚举 JAVAScript 中的环境变量?
【发布时间】:2011-08-31 17:24:08
【问题描述】:

我如何在 JScript 中枚举我的进程的环境变量,例如,将它们输出到屏幕上?

【问题讨论】:

  • for (var o in colSystemEnvVars) alert(o+":"+colSystemEnvVars[o])怎么样
  • @Helen:这不是我的流程特有的。
  • “进程”是指任意运行的进程,还是脚本宿主(cscript/wscript)进程?
  • @Helen:当前的 cscript/wscript 进程 -- 与 WshShell.Environment("Process") 提供的数据相同。

标签: javascript environment-variables wsh jscript


【解决方案1】:

解决方法和this answer一样,只是你用WshShell.Environment("Process")代替WshShell.Environment("User")

var oShell = new ActiveXObject("WScript.Shell");
var oUserEnv = oShell.Environment("Process");

var colVars = new Enumerator(oUserEnv);
for(; ! colVars.atEnd(); colVars.moveNext())
{
  WScript.Echo(colVars.item());
}

【讨论】:

  • 哦,所以诀窍是使用Enumerator?我不知道,非常感谢! :)
  • 是的,这就是您枚举集合的方式,例如FileSystemObject collections 或 WMI 查询结果。 for ... in 仅适用于数组和对象属性。
【解决方案2】:

快速google 给出了以下示例:

Set objShell = WScript.CreateObject("WScript.Shell")
Set colSystemEnvVars = objShell.Environment("System")
Set colUserEnvVars = objShell.Environment("User")
Wscript.Echo "Computer-specific PATH Environment Variable"
Wscript.Echo colSystemEnvVars("PATH")
Wscript.Echo "User-specific PATH Environment Variable"
Wscript.Echo colUserEnvVars("PATH")

【讨论】:

  • 对,这让我得到了我已经知道名称的任何变量的 。但我的问题是,我如何首先枚举所有变量?
  • @mplungjan:确实如此,但我并不介意那部分。他们真的很相似。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-20
  • 2011-04-15
  • 2021-07-05
  • 2023-04-04
  • 2011-03-22
相关资源
最近更新 更多