scripting - 如何使用 JScript (WSH) 将 HKCU\Environment 中的注册表项列表打印到 SDTOUT?

标签 scripting registry environment-variables javascript wsh

我想迭代环境键并打印这些项目的列表。

最佳答案

您可以通过相应的 WshEnvironment 访问用户环境变量收藏;无需搞乱注册表:

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

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

此脚本将输出变量名称以及值(未扩展),例如:

TEMP=%USERPROFILE%\Local Settings\Temp
TMP=%USERPROFILE%\Local Settings\Temp
Path=%PATH%
PATHEXT=%PATHEXT%;.tcl

If you need the variable names only, you can extract them like this:

// ...
var strVarName;
for(; ! colVars.atEnd(); colVars.moveNext())
{
  strVarName = colVars.item().split("=")[0];
  WScript.Echo(strVarName);
}

编辑:要扩展变量,请使用 WshShell.ExpandEnvironmentStrings方法;例如:

// ...
var arr, strVarName, strVarValue;
for(; ! colVars.atEnd(); colVars.moveNext())
{
  arr = colVars.item().split("=");
  strVarName = arr[0];
  strVarValue = oShell.ExpandEnvironmentStrings(arr[1]);

  WScript.Echo(strVarName + "=" + strVarValue);
}

关于scripting - 如何使用 JScript (WSH) 将 HKCU\Environment 中的注册表项列表打印到 SDTOUT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1911488/

相关文章:

linux - Unix shell 脚本参数的默认值?

windows - 如何运行 PowerShell 脚本

java - 如何用java获取注册表值?

npm - 错误: Command failed: cscript. exe//无标志

c# - 如何: Create a Key In the Registry (Visual C#)?

linux - 在 shell 脚本中使用 for 循环遍历参数列表?

linux - 用awk显示/etc/passwd中重复的GID

javascript - Jest + process.env.NODE_ENV 未正确测试

docker - 进入 docker 容器,exec 丢失 PATH 环境变量

environment-variables - 使用 ansible 从 env 文件中读取多个值并将它们存储为事实