Список, формируемый RecursiveSearch, отличается от dir /b /aD

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
buniak_a_h
Posts: 2286
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 139 times
Been thanked: 245 times
Contact:

Список, формируемый RecursiveSearch, отличается от dir /b /aD

Post by buniak_a_h »

Здравствуйте, знатоки.
Поясните, пожалуйста, такой факт:
получаю список всех папок диска при помощи такой процедуры:
  1. local F = far.Flags
  2. local dir = {}
  3. far.RecursiveSearch('C:\\', "*.*>>d", function(_,f) table.insert(dir, f); end, bor(F.FRS_RECUR, F.FRS_NONE)) -- (F.FRS_SCANSYMLINK)
  4. return dir
Сравниваю с результатом команды dir /aD /s /b
Набор папок несколько отличается (команда dir выдаёт больше за счёт симлинков)
Добавляю флаг F.FRS_SCANSYMLINK.
Ситуация меняется на обратную (команда dir пропускает некоторые папки - линки).
Кстати, у меня раскраска папок настроена так, что Reparse point помечаются символом. Так вот: те папки,, что не видны dir-ом во втором случае, не отмечены как Reparse point.
Вопрос: есть ли сочетание флагов такое, чтоб результат выполнения скрипта совпадало (с точностью до сортировки и регистра) с выводом команды dir?
Post Reply

Return to “Нужна помощь”