我在使用JS方面是个新手,所以我会尽量具体一些:)

  • 我有一个260的文件夹.具有不同国家名称的png文件:Afghanistan.pngAlbania.pngAlgeria.png等.

  • 我有一本书.json文件,其中包含一段代码,包含每个国家的所有ISO代码,如下所示:

{  
  "AF" : "Afghanistan",  
  "AL" : "Albania",  
  "DZ" : "Algeria",  
  ...  
}
  • 我想重新命名这个名字.png文件的ISO名称为小写.这意味着我想在我的文件夹中输入以下.png张图片:

我试着自己研究如何使用node实现这一点.js,但我在这里有点迷路了,我非常希望能找到一些线索.

提前谢谢!

推荐答案

你需要用fs:http://nodejs.org/api/fs.html

尤其是fs.rename()功能:

var fs = require('fs');
fs.rename('/path/to/Afghanistan.png', '/path/to/AF.png', function(err) {
    if ( err ) console.log('ERROR: ' + err);
});

将其放在新读取的JSON对象的键和值上的循环中,就得到了一个批重命名脚本.

fs.readFile('/path/to/countries.json', function(error, data) {
    if (error) {
        console.log(error);
        return;
    }

    var obj = JSON.parse(data);
    for(var p in obj) {
        fs.rename('/path/to/' + obj[p] + '.png', '/path/to/' + p + '.png', function(err) {
            if ( err ) console.log('ERROR: ' + err);
        });
    }
});

(这里假设您的.json文件是可信的,并且直接在文件名中使用其密钥和值是安全的.如果不是这样,请确保正确地转义!)

Node.js相关问答推荐

当建议在第二代上运行云功能时,现在是否有新的Firestore AdminClient可供使用?

是否可以在MongoDB中比较和匹配引用文档中的字段

PM2 是否需要成为其托管项目的依赖项?

有没有办法判断 UUID 是否是使用 node.js 中的特定命名空间生成的?

如何在套接字对象中存储或添加数据?

MongoDB - mongoose :如何查询这个? 填充()不起作用.它显示空

yarn 安装失败,因为 node-gyp 正在寻找过时的 node 版本标头

如何在mongoose 聚合中执行全文搜索

错误:0308010C:try 通过 Github 推送部署到 firebase 托管时出现数字

如何从动态Typescript 文件加载模块

JavaScript & Node - 将图像文件保存到服务器但无法查看

制作一个接受命令行参数的脚本

Node.js + Express + Handlebars.js + 局部视图

搜索MongoDB条目的正确方法是'_id';在 node 中

在 PassportJS 中使用多种本地策略

Puppeteer 错误:未下载 Chromium 修订版

ChildProcess 关闭、退出事件之间的区别

Node.js 中空函数的简写

使用 NodeJS 将新对象附加到 DynamoDB 中的 JSON 数组

Route.get() 需要回调函数,但得到对象未定义