我在使用JS方面还很陌生,所以我将尽我所能:)
我有一个文件夹260巴纽与不同的国家名称的文件:Afghanistan.png,Albania.png,Algeria.png等。
Afghanistan.png
Albania.png
Algeria.png
我有一个.json文件,其中包含一段代码,其中包含每个国家/地区的所有ISO代码,如下所示:
{ “ AF”:“阿富汗”, “ AL”:“阿尔巴尼亚”, “ DZ”:“阿尔及利亚”, … }
我想用小写的ISO名称重命名.png文件。这意味着我想有我在文件夹下面输入的所有.png图片: af.png,al.png,dz.png等。
.png
af.png
al.png
dz.png
我一直在尝试自己研究如何使用node.js进行此操作,但是我在这里有点迷失了,我非常感谢一些线索。
提前致谢!
您将需要使用fs它:http : //nodejs.org/api/fs.html
fs
特别是fs.rename()功能:
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文件是可信任的,并且可以在文件名中直接使用其键和值是安全的。如果不是这种情况,请确保正确地转义它们!)
.json