Windows'da Node.js'de bir dosyanın sahibini bulmaya çalışıyorum. Bir Win32API yokluğunda, ben PowerShell komutunu kullanın düşündüm:NodeJS'den PowerShell'i Çağırma
powershell -Command "(get-acl test.txt).owner"
Bu komut satırından ve bir toplu iş dosyasından mükemmel çalışıyor, ama sadece node.js exec()
ile asılı:
var exec = require('child_process').exec;
exec('powershell -Command "(get-acl test.txt).owner"', function(err,sysout,syserr) {
console.dir(sysout);
});
PowerShell işlemi sadece başlatılıyor ve hiçbir zaman sona ermiyor gibi görünüyor.
herkes var mı:
- me Windows üzerinde node.js sahip bir dosya sahibini almak için komut node.js dönmek ya da tercihen
- aklı başında bir yol olmayacaktır neden bir fikir ?
'child = exec (...); child.stdin.end(); 've mükemmel çalışıyor. Teşekkürler. – tjdett
Bu cevap benim için de çalıştı. Teşekkür ederim. Bunu yaşayan ya da merak eden başkalarının referansı için bir not. Bu sadece Powershell 2 ve daha önce (Windows 7 ile 2 gemi) stdin.end() çağrısı olmadan olur. Powershell 3 ve sonrası için (3 ile Windows 8 ve 5 ile 10 gemi), gerekli değildir ve beklendiği gibi çalışır. –