12

編集:特定のファイルの内容を読み取るのではなく、特定のフォルダー内のすべてのファイルを読み取り、そこにあるファイルを一覧表示しようとしています。私は単純に FileSystemObject を作成しようとしましたが、それも何もしません。FileSystemObject を作成する前にアラート (ポップアップ) を表示し、その後 (表示されていません) アラートを表示します。したがって、問題は単にオブジェクトを作成することにあります。

オリジナル:

JavaScript を使用して、フォルダー内のすべてのファイルを読み取ろうとしています。

これはローカルの HTML ファイルであり、サーバー上には存在しないため、おそらく PHP を使用することはできません。

今、特定の特定のフォルダー内のすべてのファイルを読み取ろうとしていますが、作成した時点では何もしませんFileSystemObject

これが私が使用するコードです。アラートは2まで表示され、その後停止します。

    alert('1');
    var myObject, afolder, date;
    alert('2');
    myObject = new ActiveXObject("Scripting.FileSystemObject");
    alert('3');
    afolder = myObject.GetFolder("c:\\tmp");
    alert('4');
    date = afolder.DateLastAccessed;
    alert("The folder"+name+" is a temporary folder.");

私はこれを正しい方法でやっていますか?

ありがとう!

4

2 に答える 2

4

Google 検索で見つけた方法は HTML5 を使用しているため、最新のブラウザーを使用している場合は問題ありません。また、チュートリアルページでは、使用しているブラウザが機能をサポートしているかどうかを確認しているようです. もしそうなら、あなたはかなり徹底的に見えるチュートリアルに従うのが良いはずです.

http://www.html5rocks.com/en/tutorials/file/dndfiles/

于 2011-08-11T07:08:22.987 に答える
4

このソリューションは、MS ベースであるため、IE11 以前でのみ機能します。

<script type="text/javascript"> 
    var fso = new ActiveXObject("Scripting.FileSystemObject"); 

    function showFolderFileList(folderspec) {    
        var s = "";
        var f = fso.GetFolder(folderspec);

        // recurse subfolders
        var subfolders = new Enumerator(f.SubFolders);
        for(; !subfolders.atEnd(); subfolders.moveNext()) {
            s += ShowFolderFileList((subfolders.item()).path);
        }  

        // display all file path names.
        var fc = new Enumerator(f.files);
        for (; !fc.atEnd(); fc.moveNext()) {
            s += fc.item() + "<br>";
        }
        return s; 
    }

    function listFiles() {
        document.getElementById('files').innerHTML = showFolderFileList('C:');
    }
</script>

<input type='button' onclick='listFiles()' value='List Files' />
<div id="files" />
于 2015-08-19T15:45:50.623 に答える