Eu sou bastante novo no uso de JS, então tentarei ser o mais específico possível :)
Eu tenho uma pasta com 260 .png arquivos com nomes de países diferentes:
Afghanistan.png
,Albania.png
,Algeria.png
, etc.Eu tenho um arquivo .json com um trecho de código com todos os códigos ISO para cada país, como este:
{ "AF": "Afeganistão", "AL": "Albânia", "DZ": "Argélia", ... }
- Gostaria de renomear os arquivos .png com seus nomes ISO em letras minúsculas. Isso significa que eu gostaria de ter o seguinte entrada na minha pasta com todas as
.png
imagens:af.png
,al.png
,dz.png
, etc.
Eu estava tentando pesquisar sozinho como fazer isso com node.js, mas estou um pouco perdido aqui e gostaria muito de receber algumas pistas.
Desde já, obrigado!
fonte
const obj = require('/path/to/countries.json');
e então:for(var p in obj) {...}
require
executa o código nesse arquivo. Você está apresentando uma maneira de alguém potencialmente injetar código malicioso no aplicativo (ou seja, modificando o arquivo .json). Ler e usarJSON.parse()
evita isso completamente. Não comprometa a segurança para escrever um pouco menos código.fs.renameSync(oldPath, newPath);
Ir através
http://nodejs.org/api/fs.html
Uma coisa importante - você também pode usar as funções de sincronização. (Funcionará como o programa C)
fonte
Para renomeação síncrona, use fs.renameSync
fs.renameSync('/path/to/Afghanistan.png', '/path/to/AF.png');
fonte
Para o sistema operacional linux / unix, você pode usar a sintaxe do shell
const shell = require('child_process').execSync ; const currentPath= `/path/to/name.png`; const newPath= `/path/to/another_name.png`; shell(`mv ${currentPath} ${newPath}`);
É isso aí!
fonte
fs.rename
?