Вызов PowerShell из NodeJS - PullRequest
       2

Вызов PowerShell из NodeJS

8 голосов
/ 06 февраля 2012

Я пытаюсь получить владельца файла в Node.js в Windows.В отсутствие 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 просто запускается и никогда не завершается.

У кого-нибудь есть:

  1. идея о том, почему команда не вернетсяв Node.js или, предпочтительно,
  2. - это разумный способ получить владельца файла с Node.js в Windows?

1 Ответ

9 голосов
/ 06 февраля 2012

Когда вы вызываете Powershell, вам нужно закрыть входной поток. Вы можете попробовать использовать spawn и использовать stdin.end().

Другой вариант - вызвать cmd /c dir /q <file>, но этот вывод многословен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...