Page 1 of 1

каталогизация папок

Posted: Sat 12 Dec, 2020 10:01
by sepr
Здравствуйте. Подскажите пожалуйста, существует ли плагин для каталогизации папок.
Очень похожий функционал в "просмотрщик .torrent файлов (Torrent Info)"
Заходим как в обычную папку, есть подпапки, у каждого файла есть размер

каталогизация папок

Posted: Mon 14 Dec, 2020 04:20
by abelenki
cmd /c chcp 65001 & dir /s> files.dir + Observer + модуль Dir.so

каталогизация папок

Posted: Mon 14 Dec, 2020 12:48
by sepr
Спасибо за рецепт. Установил плагин и модуль к нему, последние версии. Но observer не видит модуль и files.dir не открывает. У вас работает?

каталогизация папок

Posted: Mon 14 Dec, 2020 13:42
by sepr
Все заработало, нужно руками в observer.ini ассоциации дописывать. Жаль только, что он все файлы из подпапок вытаскивает в "корень", а в остальном функционал такой какой нужно. Еще раз спасибо

каталогизация папок

Posted: Tue 15 Dec, 2020 08:07
by Taciturn
sepr wrote: Mon 14 Dec, 2020 13:42 Жаль только, что он все файлы из подпапок вытаскивает в "корень"
На самом деле проблема dir.so в том, что он работает только с английским. Т.е. если переименовать C:\Windows\System32\ru-RU\cmd.exe.mui в cmd.exe.mui.del (ну или совсем удалить), то всё будет с подкаталогами.
Причём похоже это даже глюк, т.к. в исходниках есть пример вывода как раз на русском и он обрабатывается ещё более криво. Написал разработчику.

каталогизация папок

Posted: Tue 15 Dec, 2020 12:16
by sepr
Taciturn wrote: Tue 15 Dec, 2020 08:07 На самом деле проблема dir,so в том, что он работает только с английским
вместо cmd dir/s накидал скрипт:

Code: Select all

fldir = Path(Path().resolve().name).with_suffix('.dir')
with fldir.open('w', encoding='utf8') as F:
	F.write(' Том\n Серийный\n')
	for fl in Path().rglob('*'):
		if fl.is_dir() or fl.suffix == '.dir': continue
		F.write('\n00.00.0000 00:00{:>19,} {}'.format(fl.stat().st_size, fl))
в итоге: все по папкам разложено, dir,so юникод парсит

каталогизация папок

Posted: Tue 15 Dec, 2020 13:10
by Wave
Как его запускать?

каталогизация папок

Posted: Tue 15 Dec, 2020 15:15
by sepr
Если еще нет питона:
- идем на оф. сайт, качаем, устанавливаем
- где-нибудь создаем файл, например observedir[dot]py
- первая строка - импорт библиотеки: "from pathlib import Path"
(к сожалению не нашел как отредактировать мой предыдущий пост)
- вставляем код из предыдущего поста

Использование:
- заходим в папку из которой хотим сделать "слепок"
- запускаем скрипт: "С:/myscriptshere/observedir[dot]py"
создается файл с именем папки и расширением ".dir"

каталогизация папок

Posted: Tue 15 Dec, 2020 15:18
by 2useven10
sepr wrote: Tue 15 Dec, 2020 15:15 к сожалению не нашел как отредактировать мой предыдущий пост
После 5-ти постов на форуме, повторите поиск.

каталогизация папок

Posted: Sun 02 Jan, 2022 16:51
by SMT
Для просмотра dir-файлов идеально подходит плагин ls-lR
https://plugring.farmanager.com/plugin.php?pid=634&l=ru

модуль для Observer у меня не открыл некоторые старые dir-файлы, а ls-lR идеально отработал на всех тестах + умеет открывать аналогичные слепки директорий из linux/android

каталогизация папок

Posted: Sun 13 Aug, 2023 20:25
by tlap
SMT wrote: Sun 02 Jan, 2022 16:51 Для просмотра dir-файлов идеально подходит плагин ls-lR
не открывает dir-файл созданый командой

Code: Select all

cmd /u /c dir /a /s /t:W > list.dir

каталогизация папок

Posted: Mon 14 Aug, 2023 17:24
by buniak_a_h
tlap wrote: Sun 13 Aug, 2023 20:25 не открывает dir-файл созданый командой
cmd /u /c dir /a /s /t:W > list.dir
Ну да, плагин не юникодный. Старенький … Увы, видимо не поддерживается.
Я писал скрипт для замены, но у него есть ограничения:
  1. Глючит, если hidden-папок нет в dir-файле, а вложенные в нх - есть
  2. Если dir-файл получен конкатенацией нескольких команд dir (например, так:
    dir /s c:\ >l.dir && dir /s d:\ >>l.dir
    )
  3. по-моему если в результате линка папок получается рекурсия.
Работа была заброшена.