Node.js使用child_process调用系统命令示例
首先我们在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();
运行后发现已调用了该脚本。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架