-1

私は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 の完全なファイル パスを取得します。そのために、「/」に基づいて再度分割しようとしており、arraylength-1 番目の要素を取得すると考えられています。ただし、最後のドキュメント書き込みリターンは空白ページになります。myFilePathArray を分割しません。これの何が問題なのか教えてください。

よろしく、

分割

4

2 に答える 2

0

シンプルsubstrlastIndexOf、パーツを入手するには十分です。

var path = "C:\\Users\\Divya.R\\Data.txt";
var fileName = path.substr(path.lastIndexOf("\\") + 1);
var ext = path.substr(path.lastIndexOf('.') + 1); // txt
于 2014-03-07T18:35:36.813 に答える
0

\ はエスケープ文字であるため、無視されます。私のために働いた解決策を見つけました。コードを以下に示します。

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);

よろしく、 Divya

于 2013-11-20T05:45:43.643 に答える