我正在尝试通过nodejs脚本运行powershell命令。我发现以下两篇文章向我展示了与我试图实现的类似的东西:Execute Windows Commands with NodejsExecute powershell script from nodejs显示器
在一个按钮点击事件中,我试图列出当前连接到系统的usb设备及其驱动器号(C,D,E等)。如果我在powershell中运行该命令,它会工作(虽然我无法让它显示驱动器号)。但是,如果我将其作为脚本的一部分运行,它就不工作了。下面是我的代码:
if (process.platform === 'win32' || process.platform === 'win64') {
exec("powershell.exe",["GET-WMIOBJECT win32_diskdrive | Where { $_.InterfaceType –eq 'USB' }"], function (err, stdout, stderr) {
console.log(err);
console.log(stdout);
console.log(stderr);
});
}
我做错了什么?
4条答案
按热度按时间pftdvrlh1#
您可以使用Node-PowerShell。
Node-PowerShell利用了当今技术世界中存在的两个最简单、有效和容易的工具。一方面,NodeJS在javascript世界中进行了一场革命,另一方面,PowerShell最近推出了一个最初的开源、跨平台版本。通过将它们连接在一起,您可以创建任何要求您创建的解决方案。无论您是程序员、IT人员还是开发运维人员。
rfbsl7qr2#
我认为您应该在代码前加上
-command
。默认的PowerShell语法是:powershell.exe -command "get-wmiobject ..."
.大概是这样的:
uemypmqf3#
另一种方式......
iqxoj9l94#
您将需要使用..请求child_process
然后,您将需要调用
exec()
来执行子进程,后跟您希望子进程执行的命令,如下所示..下面是一个使用Powershell的
set-location
和gci
命令在指定目录中递归搜索文件并返回其相对路径的示例...希望这对任何面临这个问题的人都有帮助。