8
Windows의 Node.js에서 파일의 소유자를 가져 오려고합니다. win32api의 부재에서, 나는 내가 PowerShell 명령을 사용하는 거라고 생각 :NodeJS에서 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 프로세스가 시작되어 절대로 종료되지 않는 것처럼 보입니다.
는 사람이 있습니까 :
- 나 Windows에서 Node.js를 가진 파일의 소유자를 얻을 수에 대한 명령은 Node.js를에 돌아가거나 바람직
- 제정신이 방법이 아니다 이유에 대한 아이디어 ?
'child = exec (...);를 사용했습니다. child.stdin.end();'그리고 완벽하게 작동합니다. 감사. – tjdett
이 답변은 저에게도 도움이되었습니다. 고맙습니다. 이것을 경험하거나 그것에 대해 궁금한 다른 사람들의 참고를위한 하나의 주석. 이것은 powershell 2 이전 버전 (Windows 7에서 2 번 배송)에서만 stdin.end() 호출없이 발생합니다. Powershell 3 이상 (Windows 8이 설치된 3 대의 배송 및 10 대의 5)에는 필요하지 않으며 예상대로 작동합니다. –