javascript - 带有输出的批处理文件命令(net user 和 findstr)转换为 javascript
问题描述
我用 javascript 编写了一个 HTA 文件来显示一些用户信息。如何运行 windows cmd 命令(如在批处理文件中)并在变量中获取输出。
我在 Javascript 语法中需要什么
批处理文件代码 net user %username% /domain | findstr /c:"密码过期"
这样我就可以在 javascript 函数中的变量中使用它。
像这样:
function username()
{
var wshshell=new ActiveXObject("wscript.shell");
var username=wshshell.ExpandEnvironmentStrings("%username%");
return username
}
function ipAddress() {
var ipAddress = "";
var wmi = GetObject("winmgmts:{impersonationLevel=impersonate}");
e = new Enumerator(wmi.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"));
for(; !e.atEnd(); e.moveNext()) {
var s = e.item();
ipAddress = s.IPAddress(0);
}
return ipAddress
}
解决方案
您可以使用 WScript.shell 对象。它允许您执行 shell 命令。
var objShell = new ActiveXObject("WScript.shell");
它有运行方法。 https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/bb776890(v=vs.85)
推荐阅读
- c# - C# 无法将“system.string”类型的对象转换为“system.int32”类型
- java - 如何每 x 秒更新一次文本视图?
- vue.js - vue + jest + typescript: Unexpected token = at class static function
- pine-script - 为什么我在使用 PineScript 时在 Tradingview 中得到不同的时间值
- r - 在 R 中执行大量 2 样本 t 检验
- swift - 我的应用迷恋 Unexpectedly found nil 同时隐式展开 Optional 值
- web-services - org.springframework.web.client.ResourceAccessException:I/O 错误:com.ibm.websphere.ssl.protocol.SSLSocketFactory
- postgresql - 将 Kubernetes Postgres pod 连接到存储在持久卷上的现有数据库
- java - 私有布尔值无法识别“if 语句”中的返回
- java - Spring-Hibernate 应用程序中的 Whitelabel 错误页面