无法在 Javascript 中拆分数组元素



我对Javascript很陌生。我想从特定文件夹中获取文件名和扩展名。为此,我正在使用ActiveXObject并使用GetFolder转到文件夹,然后枚举每个单独的文件。代码如下。

<html>
<script type='text/javascript'>
var myFileNameArray = new Array;
var myFileNameArray = new Array;
function ReadFromFile()
{
    var i;
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fsofolder = fso.GetFolder("C:\Users\Divya.R");
var colFiles  = fsofolder.Files;
var fc = new Enumerator(colFiles);
for (; !fc.atEnd(); fc.moveNext() )
    { 
        msg += fc.item() + ";";
    }
myFilePathArray = msg.split(";");
for(i=0;i<=myFilePathArray.length;i++)
    {
        myFileNameArray[i] = myFilePathArray[i].split("\");
    }
document.write(myFileNameArray[0]);
}
</script>
<body onload='ReadFromFile()'>
</body>
</html>

我将从我应该获取文件名的每个数组元素中获取 myFilePathArray 中的完整文件路径。为此,我尝试根据"/"再次拆分,然后考虑获得数组长度-1 th元素。但是,最后一个文档写入返回是空白页。它不会拆分 myFilePathArray。请让我知道这有什么问题。

问候

迪夫

由于 \ 是转义字符,因此将被忽略。我找到了一个对我有用的解决方案。代码如下。

var msg = "C:\Users\Divya.R\Data.txt;C:\Users\Divya.R\Test2.csv";
var regex = /\/g;
var fileName="";
var FilePath = msg.replace(regex, "\\");
//document.write(FilePath);
var myArray1 = new Array;
var myArray2 = new Array;
myArray1 = FilePath.split(";");
myArray2 =myArray1[0].split("\");
    for(var i=0;i<=myArray1.length-1;i++)
    {
         myArray2= myArray1[i].split("\");
         fileName = fileName+myArray2[myArray2.length-1];

    }
//alert(myArray2[myArray2.length-1]);
alert(fileName);

问候迪维亚

一个简单的substrlastIndexOf就足以让你得到你的零件:

var path = "C:\Users\Divya.R\Data.txt";
var fileName = path.substr(path.lastIndexOf("\") + 1);
var ext = path.substr(path.lastIndexOf('.') + 1); // txt

最新更新