せっかくWindowsを使っているんだから、node.jsからWindowsアプリと連携したい!という時の設定
コマンドの実行
node.jsではrequire(‘child_process’).exec()を使うことによって、コマンドの実行ができる。
1 2 3 4 5 |
require('child_process').exec('ipconfig', (err, stdout, stderr) => { console.log('err:', err); console.log('stdout:', stdout); console.log('stderr:', stderr); }) |
の実行により、コマンドプロンプト(PowerShell)と同様の結果がstdoutに出力される。
*結果は文字化けてしまいます。PHP同様に、UTF-8への変換が必要だと思われますが、うまくいかず、、、。
exe,batの実行
jsと同階層にsakasa.exeがある場合は次
1 2 3 4 5 6 7 8 9 |
var AppPath = 'sakasa.exe'; var argument = '"Mizutama Inc."'; var cmd = AppPath + ' ' + argument; child = require('child_process').exec(cmd, (err, stdout, stderr) => { console.log('err:', err); console.log('stdout:', stdout); console.log('stderr:', stderr); }) |
sakasa.exeの部分は、フルパスでも可能。ffmpegで画像出力も確認済み。
ソースファイル
https://github.com/umhr/nodejs_exetest
*Dドライブ下に、ffmpeg-20180820-78d4b6b-win64-staticがあることを想定