Я новичок в использовании JS, поэтому постараюсь быть максимально конкретным :)
У меня есть папка с 260 .png файлов с разными названиями стран:
Afghanistan.png
,Albania.png
,Algeria.png
и т.д.У меня есть файл .json с фрагментом кода со всеми кодами ISO для каждой страны, например:
{ «AF»: «Афганистан», «AL»: «Албания», «ДЗ»: «Алжир», ... }
- Я хотел бы переименовать файлы .png, указав их имя ISO в нижнем регистре. Это означает , что я хотел бы иметь следующий вход в моей папке со всеми
.png
изображениями:af.png
,al.png
,dz.png
и т.д.
Я пытался самостоятельно исследовать, как это сделать с помощью node.js, но я немного потерялся здесь и был бы очень признателен за некоторые подсказки.
Заранее спасибо!
источник
const obj = require('/path/to/countries.json');
а затем:for(var p in obj) {...}
require
выполняет код в этом файле. Вы предоставляете возможность кому-то потенциально внедрить вредоносный код в приложение (например, путем изменения файла .json). Чтение и использованиеJSON.parse()
вообще этого избегают. Не ставьте под угрозу безопасность ради написания чуть меньше кода.fs.renameSync(oldPath, newPath);
Проходить через
http://nodejs.org/api/fs.html
Одна важная вещь - вы также можете использовать функции синхронизации. (Он будет работать как программа C)
источник
Для синхронного переименования используйте fs.renameSync
fs.renameSync('/path/to/Afghanistan.png', '/path/to/AF.png');
источник
Для ОС linux / unix вы можете использовать синтаксис оболочки
const shell = require('child_process').execSync ; const currentPath= `/path/to/name.png`; const newPath= `/path/to/another_name.png`; shell(`mv ${currentPath} ${newPath}`);
Это оно!
источник
fs.rename
?