Saya cukup baru dalam menggunakan JS, jadi saya akan mencoba sespesifik mungkin :)
Saya memiliki folder dengan file 260 png dengan nama negara yang berbeda:
Afghanistan.png
,Albania.png
,Algeria.png
, dllSaya memiliki file .json dengan potongan kode dengan semua kode ISO untuk setiap negara seperti ini:
{ "AF": "Afghanistan", "AL": "Albania", "DZ": "Aljazair", ... }
- Saya ingin mengganti nama file .png dengan nama ISO mereka dalam huruf kecil. Itu berarti saya ingin memiliki input berikut dalam folder saya dengan semua
.png
gambar:af.png
,al.png
,dz.png
, dll
Saya mencoba untuk meneliti sendiri bagaimana melakukan ini dengan node.js, tetapi saya sedikit tersesat di sini dan saya sangat menghargai beberapa petunjuk.
Terima kasih sebelumnya!
sumber
const obj = require('/path/to/countries.json');
dan kemudian:for(var p in obj) {...}
require
kode eksekusi di file itu. Anda memperkenalkan cara bagi seseorang yang berpotensi menyuntikkan kode berbahaya ke dalam aplikasi (yaitu, dengan memodifikasi file .json). Membaca dan menggunakanJSON.parse()
sama sekali menghindari hal itu. Jangan kompromi keamanan demi menulis kode yang sangat sedikit.fs.renameSync(oldPath, newPath);
Masuk
http://nodejs.org/api/fs.html
Satu hal penting - Anda juga dapat menggunakan fungsi sinkronisasi. (Ini akan bekerja seperti program C)
sumber
Untuk penggantian nama sinkron, gunakan fs.renameSync
fs.renameSync('/path/to/Afghanistan.png', '/path/to/AF.png');
sumber
Untuk OS linux / unix, Anda dapat menggunakan sintaks shell
const shell = require('child_process').execSync ; const currentPath= `/path/to/name.png`; const newPath= `/path/to/another_name.png`; shell(`mv ${currentPath} ${newPath}`);
Itu dia!
sumber
fs.rename
?