一尘不染

使用node.js重命名文件

node.js

我在使用JS方面还很陌生,所以我将尽我所能:)

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

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

    {
    “ AF”:“阿富汗”,
    “ AL”:“阿尔巴尼亚”,
    “ DZ”:“阿尔及利亚”,

    }

  • 我想用小写的ISO名称重命名.png文件。这意味着我想有我在文件夹下面输入的所有.png图片: af.pngal.pngdz.png等。

我一直在尝试自己研究如何使用node.js进行此操作,但是我在这里有点迷失了,我非常感谢一些线索。

提前致谢!


阅读 233

收藏
2020-07-07

共1个答案

一尘不染

您将需要使用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文件是可信任的,并且可以在文件名中直接使用其键和值是安全的。如果不是这种情况,请确保正确地转义它们!)

2020-07-07