2012-11-28 8 views
9

Sto cercando di fare un locale xml analisi del file "domanda" per alcuni colleghi e sto usando la funzione corrente per recuperare i file:Percorso con backslash a percorso con le barre javascript

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 />"); 
    } 
} 

il problema con questa funzione restituisce una stringa simile a:

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

devo sostituire le barre rovesciate in barre dell'intera stringa. Come fare questo?

ho provato il metodo replace:

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

Ma non sembra fare il trucco.

Potete aiutarmi ragazzi?

+0

Come è stata effettuata la chiamata sostitutiva? Potresti aggiungerlo al tuo esempio? –

+0

Se una risposta fornita ha risolto il problema, ricorda di accettarlo. –

risposta

14

Il metodo replace non modifica l'istanza corrente della stringa, ma ne restituisce una nuova. Verifica se funziona:

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

Vedere this example on jsfiddle.

+0

Funziona solo perché hai modificato l'output dall'OP. Non ha mai avuto doppi tagli sulla sua strada. Una singola barra viene trattata come un carattere di escape in modo che la tua sostituzione non funzioni. –

+0

No, non la penso così. Sono abbastanza sicuro che 'ActiveXObject (" Scripting.FileSystemObject ")' crea percorsi validi con barre correttamente escapate. –

+0

No non, http://jsfiddle.net/NWCAn/153/ –

Problemi correlati