node.jsのchild_processをWindowsで使う

node.jsから外部のコマンドを叩くときに、 Windowsの場合は標準出力がSJISなので文字化けしがちです。 pythonなしで動くiconv-liteを使って文字化けを回避しましょう

iconv-liteインストール

npm save install iconv-lite

コード例

var iconv = require('iconv-lite');

var childProcess = require('child_process');
var dir = childProcess.spawn('dir');

dir.stdout.on('data', function (data) {
  console.log(iconv.decode(data, "Shift_JIS"));
});