2016-03-29 10 views
2

私はnodejsスクリプトを通してpowershellコマンドを実行しようとしています。私はと一緒に、現在のシステムに接続されたUSBデバイスを一覧表示しようとしています、ボタンのクリックイベントで Execute Windows Commands with Nodejs Execute powershell script from nodejschildprocessとnodejsを使ってwindows powershellコマンドを実行するには?

:私がacheiveしようとしているものと同様のものを示している以下の二つの記事を私が発見しましたそのドライブレター(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); 
    }); 
} 

私は間違っていますか?

+0

これをバッチファイル/ psスクリプトに変換して、それらの脆弱な引数をすべて使わずに実行します。 – dandavis

+0

どのような脆弱な議論? – machinebit

+0

あなたが渡そうとするコマンドライン引数...リンクの答えが.psファイルを使用していることに注意してください。 – dandavis

答えて

2

コードの前に-commandというコードを書いてください。既定のPowerShell構文はpowershell.exe -command "get-wmiobject ..."です。このような

何か:

exec("powershell.exe",["-command \"Get-WmiObject -Class win32_diskdrive | Where { $_.InterfaceType -eq 'USB' }\""], function (err, stdout, stderr) { 
    console.log(err); 
    console.log(stdout); 
    console.log(stderr); 
}); 
1

あなたはNode-PowerShellを使用することができます。

Node-PowerShellは、今日の技術界に存在する最も簡単で効果的で簡単なツールの2つを利用しています。一方で、javascriptの世界で革命を起こしたNodeJS、そして最近、最初のオープンソース、クロスプラットフォーム版で出てきたPowerShellを一緒に接続することで、あなたがプログラマであれ、IT開発者であれ、開発者であれ、どんな解決策を作成してもかまいません。

関連する問題