使用 XPCOM 列出文件夹中的所有文件

Hot to list all files from a folder with XPCOM

我想使用 XPCOM 和 iMacros 列出文件夹中的所有图像。波纹管是我使用的代码,但出现错误。

ReferenceError: file is not defined, line 319 (Error code: -991)

这是我正在使用的代码示例。

   var imageurl =  "s:\images\";

imageurl = CheckFolder(imageurl);

alert(imageurl);

function CheckFolder(path) {

            alert(path)
            file.initWithPath(path);
            var children = file.directoryEntries;
            var child;
            var list = [];
            while (children.hasMoreElements()) {
                child = children.getNext().QueryInterface(Components.interfaces.nsILocalFile);
                list.push(child.leafName + (child.isDirectory() ? ' [DIR]' : ''));
            }
            alert(list.join('\n'));
        }

这是我根据上面 link 所做的解决方案。你说对了。

//查找文件夹中的所有文件

function CheckFolder(filePath) {



    var nsFile = Components.Constructor("@mozilla.org/file/local;1", "nsIFile", "initWithPath");

    var file = new nsFile(filePath);

    //file.initWithPath(filePath);
    var children = file.directoryEntries;
    var child;
    var list = [];
    while (children.hasMoreElements()) {
        child = children.getNext().QueryInterface(Components.interfaces.nsILocalFile);
        list.push(child.leafName + (child.isDirectory() ? ' [DIR]' : ''));
    }
    alert(list.join('\n'));

    return list;
}