Горячий список всех файлов из папки с XPCOM - PullRequest
0 голосов
/ 19 июня 2019

Я хочу перечислить все изображения из папки, используя 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'));
        }

1 Ответ

0 голосов
/ 19 июня 2019

Это решение, которое я сделал по ссылке выше. Вы были точно в цели.

// найти все файлы в папке

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;
}
...