javascript - नोड.जेएस का उपयोग करके फ़ाइलों का नाम बदलना




node.js rename (2)

  1. fs.readdir (पथ, कॉलबैक)
  2. fs.rename (पुराने, नए, कॉलबैक)

http://nodejs.org/api/fs.html माध्यम से जाओ

एक महत्वपूर्ण बात - आप सिंक फ़ंक्शंस का भी उपयोग कर सकते हैं। (यह सी प्रोग्राम की तरह काम करेगा)

मैं JS का उपयोग करने में काफी नया हूं, इसलिए मैं जितना संभव हो उतना विशिष्ट बनने की कोशिश करूंगा :)

  • मेरे पास 260 .png फ़ाइलों के साथ एक फ़ोल्डर है जिसमें अलग-अलग देश के नाम हैं: Afghanistan.png Png, Albania.pngAlgeria.png , Algeria.png , आदि।

  • मेरे पास एक .json फ़ाइल है जिसमें इस तरह के प्रत्येक देश के सभी ISO कोड के साथ कोड का एक टुकड़ा है:

{  
  "AF" : "Afghanistan",  
  "AL" : "Albania",  
  "DZ" : "Algeria",  
  ...  
}
  • मैं निम्न स्थिति में उनके ISO नाम के साथ .png फ़ाइलों का नाम बदलना चाहूंगा। इसका मतलब है कि मैं अपने फ़ोल्डर में सभी .png छवियों के साथ निम्नलिखित इनपुट af.png : af.png , al.png , dz.png , आदि।

मैं अपने आप से शोध करने की कोशिश कर रहा था कि नोड.जेएस के साथ यह कैसे किया जाए, लेकिन मैं यहां थोड़ा खो गया हूं और मैं कुछ सुरागों की सराहना करूंगा।

अग्रिम में धन्यवाद!


इसके लिए आपको 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 फ़ाइल भरोसेमंद है और यह सीधे फाइलनामों में अपनी कुंजियों और मूल्यों का उपयोग करने के लिए सुरक्षित है। यदि ऐसा नहीं है, तो ठीक से बचना सुनिश्चित करें!)







rename