Содержимое панелей - в CSV?

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Аватара пользователя
ApceH
Сообщения: 316
Зарегистрирован: Пт апр 08, 2011 17:58
Откуда: Димитровград

Сообщение ApceH »

Tol!k
Спасибо за обе наводки! Плагин — зверь, хоть и ошибки есть. К тому же исходники есть, может исправлю что, как и в crc32tag.

Итак, задачу можно решить плагином WdxInfoPacker.
Им можно создать и CVS, и любой текстовый формат (а может и не только текстовый, не знаю пока). Главные проблемы: не так-то просто составить схему (и из-за вылетов редактора вместе со всем ТС), и эта схема привязана к имеющемуся перечню контент-плагинов.

Вот, например, что у меня получилось:

Код: Выделить всё

[Хэши (CVS)]
use="acde"
Extension="csv"
Divider=""
header="Имя;Размер;CRC32;MD5 (128);SHA-1 (160);Tiger (160);ГОСТ (256);HAVAL (256);SHA-2 (512);Whirlpool (512)"
name="%N;"
between="@Mod=Size.B@dirsizecalc.wdx;%#"
wdxinfo="@Mod=CRC32@hashsys.wdx;%#;@Mod=MD5@hashsys.wdx;%#;@Mod=SHA1@hashsys.wdx;%#;
@Mod=TIGER160@hashsys.wdx;%#;@Mod=GOST@hashsys.wdx;%#;@Mod=HAVAL256@hashsys.wdx;%#;
@Mod=SHA512@hashsys.wdx;%#;@Mod=WHIRLPOOL@hashsys.wdx;"
[/size]
Это нужно вставить в файл %COMMANDER_PATH%\Scheme.ini. Используются dirsizecalc.wdx и hashsys.wdx. Только переводы строк в значении wdxinfo нужно убрать!
Но это ужас какой-то! Ну, что точку с запятой вставить можно через %#, я узнал методом тыка, в документации сказано иное.
Самое плохое, что плагин срабатывает через раз. Иногда вообще не подхватываются wdx-плагины, тогда будет просто пустые поля. А иногда и крэшится совсем... Короче это решение так-себе.
Но есть и плюс: стал ненужным набор колонок как таковой. Всё работает через Упаковать. А с прожкой CopyInfo2Clip.exe, входящей в состав плагина, можно и в буфер помещать полученную инфу.

Avada
По-моему, такая функция должна быть в ТС наряду с cm_SaveDetailsToFile без всяких плагинов (это в хотелки). Ведь нужно просто сохранить то, что и так на экране. Кстати! И распечатать нельзя напрямую с колонками!
Последний раз редактировалось ApceH Вс июл 17, 2011 18:27, всего редактировалось 4 раза.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

ApceH писал(а):И распечатать нельзя напрямую с колонками!
Верно, нельзя. Только краткий вид, подробный вид (в который также преобразуются коммментарии, колонки и эскизы) и дерево. Фича распечатки листинга старая, маловостребованная, и я уже давненько не помню, чтобы Гислер там что-то дополнял.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Код: Выделить всё

@echo off &setlocal enableextensions
rem Хэши > CSV
rem Пример параметров для ТС: "%WL" "%T_hashs.csv"
rem Автор: Tol!k
rem Используется RHash http://rhash.anz.ru/

if not exist "%~2" call :header "%~2"
for /f "usebackq delims=" %%s in (`type "%~1"`) do (
  for /f "delims=" %%f in ('dir /b/s/a-d/on "%%s"') do (
    title "%%f" &call :hashs "%~2" "%%f"
  )
)
goto :eof

:hashs
>>%1 rhash.exe -p %%p;%%s;%%C;%%M;%%H;%%{tiger};%%G;-;%%{sha512};%%W;\n %2
goto :eof
:header
>%1 echo File;Size;CRC32;MD5;SHA1;Tiger;GOST;HAVAL;SHA512;Whirlpool;
goto :eof
+ если .csv уже существует, то он дописывается
- не нашёл в RHash алгоритм HAVAL
Аватара пользователя
ApceH
Сообщения: 316
Зарегистрирован: Пт апр 08, 2011 17:58
Откуда: Димитровград

Сообщение ApceH »

Tol!k
Спасибо!
Правда странный этот rhash, то в верхнем регистре, то в нижнем... Ну да полазить в опциях в любом случае ещё придётся.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

RHash (Recursive Hasher) – название программы, а rhash.exe – имя файла

PS
А не попросить ли автора (Aleksey Kravchenko) дополнить программу алгоритмом HAVAL ?
Аватара пользователя
ApceH
Сообщения: 316
Зарегистрирован: Пт апр 08, 2011 17:58
Откуда: Димитровград

Сообщение ApceH »

Судя по информации, этот алгоритм достоин всяческого уважения и внимания.
С автором не знаком, попросите Вы)))

В любом случае это не решение задачи, поставленной в шапке и уточнённой мной! Если нужны не хэши, а произвольные колонки ВМЕСТЕ с заголовками, сохранить это в CVS довольно проблематично(((
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

на странице с документацией есть mail
Ответить