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

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

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

Post by buniak_a_h »

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

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