2012-11-28 13 views
9

मैं एक स्थानीय xml फ़ाइल पार्स कुछ सहयोगियों के लिए "आवेदन" बनाने की कोशिश कर रहा है और मैं फ़ाइलों को पुनः प्राप्त करने के लिए वर्तमान समारोह का उपयोग कर रहा:पथ स्लैश जावास्क्रिप्ट

function ShowFolderFileList(folderspec) { 
    var fso, f, f1, fc, s; 
    fso = new ActiveXObject("Scripting.FileSystemObject"); 
    f = fso.GetFolder(folderspec); 
    fc = new Enumerator(f.files); 
    s = ""; 
    for (; !fc.atEnd(); fc.moveNext()) { 
     var pathString = fc.item(); 
     $("#test").append(pathString + "<br />"); 
    } 
} 

समस्या इस समारोह के साथ यह एक स्ट्रिंग के समान रिटर्न:

C:\Users\SomeUser\Desktop\cool\Archief\CDATA1.xml 

मैं पूरी स्ट्रिंग की स्लैश अग्रेषित करने के लिए पिछड़े स्लैश को बदलने के लिए की जरूरत है। यह कैसे करें?

मैंने कोशिश की जगह विधि:

pathString.replace(/\\/g, "/") 

लेकिन यह चाल करने के लिए प्रतीत नहीं होता।

क्या आप लोग मेरी मदद कर सकते हैं?

+0

आपने अपनी प्रतिस्थापन कॉल कैसे की? क्या आप इसे अपने उदाहरण में जोड़ सकते हैं? –

+0

यदि कोई प्रदत्त उत्तर आपकी समस्या का समाधान करता है, तो कृपया इसे स्वीकार करना याद रखें। –

उत्तर

14

replace विधि स्ट्रिंग के वर्तमान उदाहरण को परिवर्तित नहीं करती है, लेकिन एक नया लौटाती है। देखें कि यह काम करता है:

pathString = pathString.replace(/\\/g,"/"); 

this example on jsfiddle देखें।

+0

यह केवल इसलिए काम करता है क्योंकि आपने ओपी से आउटपुट बदल दिया है। वह अपने रास्ते में कभी भी डबल स्लेश नहीं था। एक स्लैश को एक बच निकले चरित्र के रूप में माना जाता है ताकि आपकी जगह काम न करे। –

+0

नहीं, मुझे ऐसा नहीं लगता है। मुझे पूरा यकीन है कि 'ActiveXObject ("Scripting.FileSystemObject")' ठीक से बच निकले स्लेश के साथ वैध पथ बनाता है। –

+0

नहीं, यह नहीं है, http://jsfiddle.net/NWCAn/153/ –

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