[ID CS4-CS6] getFiles и файлы без расширений

Tiburtsy

Топикстартер
15 лет на форуме
Сообщения
60
Реакции
14
Может ли getFiles выдать файлы у которых нет расширений.
Маска ("*.") не срабатывает. Трюки с regexp наподобии (/.+[^\.]$/i) и через функцию тоже не увенчались успехом. Поиск не помог :(
 
getFiles() перебирает все файлы включая подкаталоги
 
я знаю что делает getFiles(), не первый год пишу скрипты.
Могу получить getFiles("*.jpg"), но не могу получить getFiles("*."), по аналогии. Не хочется рыться в выдаче циклами и условиями и вычленять файлы без расширений. Хотелось бы более элегантное решение чтобы получить их сразу.
 
я знаю что делает getFiles(), не первый год пишу скрипты.
Могу получить getFiles("*.jpg"), но не могу получить getFiles("*."), по аналогии. Не хочется рыться в выдаче циклами и условиями и вычленять файлы без расширений. Хотелось бы более элегантное решение чтобы получить их сразу.
Что такое расширение? Это то, что идет после точки.
Строго говоря, имя файла без расширения не содержит точек.

Итого должно сработать такое:
Код:
Folder.getFiles(/^[^\.]+$/);
Хотя я не уверен до конца, что getFiles нормально работает с регулярными выражениями
 
Последнее редактирование:
  • Спасибо
Реакции: Tiburtsy и _MBK_
Хотя я не уверен до конца, что getFiles нормально работает с регулярными выражениями
Оно не так работает.
JavaScript:
function fm (file) {
    if (file.constructor.name == 'File' && file.name.match(/^[^\.]+$/gim)) {
        return true;
    }
    return false;
}

var fldr = Folder( '~/Documents/Test');
fldr.getFiles(fm);
 
Бутрин двоечник
 
Про фильтр на папки и разговора не было
 
  • Спасибо
Реакции: Tiburtsy
Итого должно сработать такое:
Код:
Folder.getFiles(/^[^\.]+$/);

Прекрасный код, всё ищет, именно нечто подобное я и хотел! Папок у меня нет, так что всё устраивает (если что - потом отфильтрую). Предлагаю сохранить этот код для потомков. Всем спасибо за помощь!
 
Чисто академический интерес: как ключ глобального поиска g влияет на эту конструкцию (/^[^\.]+$/g)
У меня перестаёт находить одну папку и один файл из 5 объектов без расширений. Не могу понять почему.
 
Чисто академический интерес: как ключ глобального поиска g влияет на эту конструкцию (/^[^\.]+$/g)
У меня перестаёт находить одну папку и один файл из 5 объектов без расширений. Не могу понять почему.
Какие имена он перестаёт находить. Крайне интересно. Регулярка-то простая - "От начала до конца НЕ точка"
 
[1] - папка
[w] - папка
g
qqqqqqqqqqq
про
Перестаёт видеть [w] и файл g
 
Файлы/папки просто находятся через одного, вот так. Есть что-то зловещее в языке, в котором lastIndex реализован как свойство регулярного выражения, а не строки, но, как сказал бы товарищ Сталин: "Другого javascript у меня для вас нет."
 
  • Спасибо
Реакции: Tiburtsy
Файлы/папки просто находятся через одного, вот так. Есть что-то зловещее в языке, в котором lastIndex реализован как свойство регулярного выражения, а не строки, но, как сказал бы товарищ Сталин: "Другого javascript у меня для вас нет."
Ты плохо читаешь. С глобальным модификатором у ТС есть пропуски.