用 ChatGPT 生成小脚本,直接复制就能用了

WBOY
WBOY 转载
2023-05-24 09:22:05 519浏览

用 ChatGPT 生成小脚本,直接复制就能用了

大家好,我是前端西瓜哥。最近我有个个人需求,要写个小脚本。

我有一个基于 hexo 生成的个人静态博客网站,想要给博客的所有的篇文章的尾部加一段广告文案,我不想写这种没啥意思的脚本,就找 ChatGPT 帮我写一段小脚本。

初版

因为我是前端开发,所以我选择让 ChatGPT 给我生成 nodejs 脚本。其他 sh、python 其实也可以,但我真不熟,不好确认代码是否符合需求。

用 ChatGPT 生成小脚本,直接复制就能用了

描述很简洁,ChatGPT 给的结果看着不错。

加上细节要求

但我接着发现我有个细节没有提供,就是文件路径需要在文件里提供。我期待通过命令行参数传入路径,因为在 bash 环境下,可以通过 tab 键来补全路径,既方便又不容易出错。

得益于 ChatGPT 的上下文联想能力,我们可以基于上面的问题,加入新的要求。

用 ChatGPT 生成小脚本,直接复制就能用了

还提供了使用案例:

用 ChatGPT 生成小脚本,直接复制就能用了

完整代码

const fs = require('fs');const path = require('path');// 从命令行参数中获取文件夹路径const directoryPath = process.argv[2];if (!directoryPath) {console.error('请提供要处理的文件夹路径');process.exit(1);}const suffix = '\n\n这是添加的字符串。'; // 将要添加的字符串放在这里fs.readdir(directoryPath, (err, files) => {if (err) {console.error(`无法读取目录:${directoryPath}`, err);return;}// 仅处理 Markdown 文件const markdownFiles = files.filter(file => path.extname(file).toLowerCase() === '.md');markdownFiles.forEach(file => {const filePath = path.join(directoryPath, file);// 读取文件内容fs.readFile(filePath, 'utf8', (err, data) => {if (err) {console.error(`无法读取文件:${filePath}`, err);return;}// 将字符串添加到文件末尾const content = `${data.trim()}${suffix}`;// 将更改保存回原始文件fs.writeFile(filePath, content, 'utf8', err => {if (err) {console.error(`无法写入文件:${filePath}`, err);return;}console.log(`已更新文件:${filePath}`);});});});});

使用

将代码拷贝到我创建的 js 文件下,将里面的 suffix 替换为自己需要填充的内容。

然后执行:

node scripts/add-footer-qrcode.js source/_posts

用 ChatGPT 生成小脚本,直接复制就能用了

可以看到,文件夹下的 100 多个 md 文件的末尾都加上了这段文字。

结尾

我是前端西瓜哥,欢迎关注我,一起感受 AI 的日新月异的变化。

ChatGPT 用来写简单的脚本或算法,那叫一个牛逼。

你要是让我来写,还是挺花时间的,里面小细节挺多,快的话写加测试也得半小时,但 ChatGPT 它来了,它 10s 就给你写好了,我们复制一下,改改就能用,甚至不用改!

以上就是用 ChatGPT 生成小脚本,直接复制就能用了的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:51CTO.COM,如有侵犯,请联系admin@php.cn删除