Node.js使用child_process呼叫系統命令示例
阿新 • • 發佈:2018-12-26
首先我們在D盤根目錄下新建一個test.bat檔案,他的內容如下:
echo %date%%time% >> D:/test.txt
他的目的很簡單,每次呼叫這個bat檔案,都會在D:/test.txt
中追加一條當前日期和時間。
然後我們安裝依賴包:
npm install child_process
然後我們寫一個node.js程式呼叫這個命令:
var fs = require('fs'); var { exec } = require('child_process'); var timed_task = {}; timed_task.runProcedure = function () { fs.writeFileSync(`${__dirname}/../public/info.txt`, 'busy'); var options = { encoding: 'utf8', timeout: 0, maxBuffer: 200 * 1024, killSignal: 'SIGTERM', cwd: null, env: null }; var cmdS = 'D:/test.bat'; exec(cmdS, options, (error, stdout, stderr)=>{ var stat; if (error) { console.error(error); fs.writeFileSync(`${__dirname}/../public/info.txt`, 'error'); } else { console.log('ok!'); fs.writeFileSync(`${__dirname}/../public/info.txt`, 'free'); } }); } module.exports = timed_task; timed_task.runProcedure();
執行後發現已呼叫了該指令碼。