我正试图在Windows上获取Node.js中文件的所有者。在没有win32api的情况下,我以为我会使用PowerShell命令:
powershell -Command "(get-acl test.txt).owner"
这完全可以从命令行和批处理文件中完成,但只是挂起Node.js exec()
:
var exec = require('child_process').exec;
exec('powershell -Command "(get-acl test.txt).owner"', function(err,sysout,syserr) {
console.dir(sysout);
});
PowerShell流程似乎已启动并且永不终止。
有人有:
答案 0 :(得分:9)
当您像这样调用Powershell时,您需要关闭输入流。您可能想尝试使用spawn并使用stdin.end()
。
其他选项是调用cmd /c dir /q <file>
,但输出结果很详细。