Выборочная упаковка

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

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

Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Выборочная упаковка

Сообщение ask-rus »

Возможна ли вообще реализация выборочной упаковки, а именно, у нас есть каталог, я хочу упаковать этот каталог и некоторые файлы в нем?

Суть. Заливаем TC на флешку для поставки его своим друзьям и знакомым. Согласно файл-списка производим упаковку каталога TC, те конфиденциальные файлы (wcx_ftp.ini, др.) или какой-либо "мусор" (диби, гиды, тумбсы, логи), что указаны в файл-списке будут игнорироваться и в архив не попадут.

:?:
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

ask-rus
Для 7z применяем ключ исключений -x@{listfile}
Нет, я не сплю. Я просто медленно моргаю.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

ask-rus
Наверное, можно задействовать на время упаковки тоталовский список исключений, куда поместить игнорируемые файлы.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Вообще, можно в исходной папке нажать Ctrl[+Shift]+B, выделить файлы для упаковки, сняв выделение с ненужных (при помощи абсолютно любых шаблонов), и нажать Alt+F5 для упаковки. Структура папок в архиве будет сохранена, и в архив попадут только выбранные файлы.

При этом верхней папкой архива будет считаться папка, в которой нажималась комбинация Ctrl[+Shift]+B (собственно, эта папка будет отображаться в заголовке панели).
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Batya писал(а):Для 7z применяем ключ исключений -x@{listfile}
Кажется, это то, что нужно.
sa писал(а):Наверное, можно задействовать на время упаковки тоталовский список исключений, куда поместить игнорируемые файлы.
Тоже вариант, если так, действительно, можно. Но я бы не хотел, конечно, вмешивать свой tcignore.txt в это дело. В нем свои игнорируемые файлы.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):сняв выделение с ненужных (при помощи абсолютно любых шаблонов)
Удобный вариант. Можно использовать, в том числе, “Загрузить выделение из файла…” (со списком игнорируемых файлов) с последующим “Инвертировать выделение”.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

[em_PackFiles1]
button=%COMMANDER_PATH%\ICO\arc_2.ico
cmd=%COMMANDER_PATH%\SOFT\7-Zip\7z.exe
param=a -t7z -mx -m0=LZMA2 -mse -ssw -scsWIN -y -- -x@listfile.txt "%O.7z" @%L
menu=У п а к о в а т ь файлы [Win+Alt+F5]
Такое вот не прокатило, в чем же ошибка. :?
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

ask-rus писал(а):Такое вот не прокатило, в чем же ошибка.
Упаковка работает нормально, но не работает исключение?
Разбирайся с содержимым listfile.txt. Попробуй также указать полный путь к listfile.txt.
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Batya писал(а):Упаковка работает нормально, но не работает исключение?
Упаковка вообще не работает.
Пытаюсь упаковать Рабочий стол с содержимым:
Загрузки.lnk
UltraMon.lnk
Ярлык для TOTALCMD.EXE.lnk
MagicDisc.lnk
MagicISO.lnk
PRO100.lnk
однокомнатная.sto
При этом listfile.txt с:
MagicDisc.lnk
MagicISO.lnk
PRO100.lnk
находится в директории 7-Zip
Batya писал(а):Попробуй также указать полный путь к listfile.txt.

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

[em_PackFiles1]
button=%COMMANDER_PATH%\ICO\arc_2.ico
cmd=%COMMANDER_PATH%\SOFT\7-Zip\7z.exe
param=a -t7z -mx -m0=LZMA2 -mse -ssw -scsWIN -y -- -x@d:\Totalcmd\SOFT\7-Zip\listfile.txt "%O.7z" @%L
menu=У п а к о в а т ь  файлы [Win+Alt+F5]
Моргает и не более того.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Было бы ошибкой надеяться, что 7-Zip будет искать файл исключений, указанный неполным именем, в своей папке - по стандарту неполные имена рассматриваются относительно текущей папки.

А чтобы не моргал, запускай cmd с командой вызова 7-Zip - на время отладки.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

ask-rus писал(а):Упаковка вообще не работает.
Я подозреваю, что ты намудрил с параметрами.
Сделай рабочую кнопку упаковки без использования исключений, а уже потом добавляй в параметры обработку исключений.

Добавлено:
Ключ "-x" должен идти перед "--", а не после.

Добавлено:
Перед ключем "-x" нужно указать ключ "-r" (или "-r0", если в файле исключений только маски файлов).
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Batya писал(а):Я подозреваю, что ты намудрил с параметрами.
Сделай рабочую кнопку упаковки без использования исключений, а уже потом добавляй в параметры обработку исключений.
Я добавил ключ в уже рабочую кнопку, которой всегда пользуюсь.
Batya писал(а):Ключ "-x" должен идти перед "--", а не после.

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

[em_PackFiles1]
button=%COMMANDER_PATH%\ICO\arc_2.ico
cmd=%COMMANDER_PATH%\SOFT\7-Zip\7z.exe
param=a -t7z -mx -m0=LZMA2 -mse -ssw -scsWIN -y -x@d:\Totalcmd\SOFT\7-Zip\listfile.txt -- "%O.7z" @%L
menu=У п а к о в а т ь  файлы [Win+Alt+F5]
Теперь работает, но упаковалось всё без исключений.
Batya писал(а):Перед ключем "-x" нужно указать ключ "-r" (или "-r0", если в файле исключений только маски файлов).

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

[em_PackFiles1]
button=%COMMANDER_PATH%\ICO\arc_2.ico
cmd=%COMMANDER_PATH%\SOFT\7-Zip\7z.exe
param=a -t7z -mx -m0=LZMA2 -mse -ssw -scsWIN -y -r-x@d:\Totalcmd\SOFT\7-Zip\listfile.txt -- "%O.7z" @%L
menu=У п а к о в а т ь  файлы [Win+Alt+F5]
Аналогично.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

ask-rus писал(а):Теперь работает, но упаковалось всё без исключений.
Может в файле исключений нет путей?
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

MVV писал(а):Было бы ошибкой надеяться, что 7-Zip будет искать файл исключений, указанный неполным именем, в своей папке - по стандарту неполные имена рассматриваются относительно текущей папки.
sa писал(а):Может в файле исключений нет путей?
Я уже над этим работаю. :D
Невероятные вещи происходят. То TC периодически выдает сообщение
---------------------------
Total Commander
---------------------------
Эта функция в архивах не работает.
---------------------------
ОК
---------------------------
то напрочь отказывается копировать в буфер полные имена файлов.
Пути после некоторого количества перезапусков TC забить в файл-лист-таки удалось. Результата нет.
listfile.txt писал(а):c:\Documents and Settings\Аскер\Рабочий стол\MagicDisc.lnk
c:\Documents and Settings\Аскер\Рабочий стол\MagicISO.lnk
c:\Documents and Settings\Аскер\Рабочий стол\PRO100.lnk
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

ask-rus писал(а):c:\Documents and Settings\Аскер\Рабочий стол\MagicDisc.lnk
Может кавычки помогут?
"c:\Documents and Settings\Аскер\Рабочий стол\MagicDisc.lnk"
Ответить