2013-11-28 7 views
10

में फ़ाइल हटाएं मैं list_file_to_delete में 3 फाइलों को हटाना चाहता हूं लेकिन मुझे नहीं पता कि "यहां तीन फाइलों के पथ" को रखने का मार्ग क्या है? क्या मुझे सभी को हटाने के लिए/प्रत्येक कार्य के लिए लूप/इन की आवश्यकता है या केवल 3 पथों के साथ स्ट्रिंग की आवश्यकता है var string = "...a1.jpg, ...a2.jpg,...a3.jpg"?फाइल पथ और नोडज

list_of_files.forEach(function(filename) { 
    fs.unlink(filename); 
}); 

या, यदि आप: delete.js फ़ाइल में अग्रिम

धन्यवाद

var list_file_to_delete = ["/images/a1.jpg", "/images/a2.jpg", "/images/a3.jpg"] 
fs.unlink(path to three files here, function(err) {console.log("success")}) 

इस myapp निर्देशिका

myapp 
     /app 
      /js 
      delete.js 
     /public 
      /images 
        a1.jpg 
        a2.jpg 
        a3.jpg 
     server.js 
+0

बैकटिक्स उद्धरण नहीं हैं। केवल कोड को घेरने के लिए उनका इस्तेमाल करें। –

उत्तर

15

fs.unlink एक एकल फाइल लगता है, इसलिए का लिंक हटाने के प्रत्येक तत्व है अनुक्रमिक की आवश्यकता है, लेकिन एसिंक्रोनस डीले टीएस आप निम्नलिखित ES5 कोड का उपयोग कर सकते हैं:

(function next(err, list) { 
    if (err) { 
    return console.error("error in next()", err); 
    } 
    if (list.length === 0) { 
    return; 
    } 
    var filename = list.splice(0,1)[0]; 
    fs.unlink(filename, function(err, result) { 
    next(err, list); 
    }); 
}(null, list_of_files.slice())); 
+0

धन्यवाद, और फ़ाइलों के पथ के बारे में कैसे है, मैं /@/public/images/a1.jpg का उपयोग नहीं कर रहा – user3044147

+0

पथ उस निर्देशिका से संबंधित है जिसका उपयोग आपने 'node yourscript.js'' में किया था, इसलिए यदि आप इसे कॉल करते हैं 'myapp' निर्देशिका, आप फ़ाइलों को "./public/images/a1.jpg" आदि के रूप में अनलिंक करेंगे। –

+0

यह अब काम करता है, बहुत बहुत धन्यवाद। लेकिन मुझे समझ में नहीं आ रहा है क्योंकि मुझे लगता है कि हम जेएस निर्देशिका – user3044147

संबंधित मुद्दे