通過nodejs模塊child_process的exec方法可以調(diào)用cmd命令,但是默認讀取方法為UTF-8,輸出就會亂碼,因為我們中文在CMD里面編碼為cp936,需要轉(zhuǎn)換。
用cmd亂碼.png)
用到的模塊:iconv-lite
const iconv = require('iconv-lite');
const exec = require('child_process');
//異步方法
exec.exec('ipconfig', { encoding: 'buffer' }, (error, stdout) => {
console.log( iconv.decode(stdout, 'cp936'));
});
//同步方法
var str = exec.execSync("ipconfig");
str=iconv.decode(str, 'cp936');
console.log(str);
用cmd亂碼-1.png)