Ru-Board.club
← Вернуться в раздел «Программы»

» WinRAR (часть 2)

Автор: say24
Дата сообщения: 04.09.2015 13:50
Pasha_ZZZ
в слове "folder" нет маски, а без неё и так всё понятно.
может вот так будет понятнее, что мне надо
rar a eee.rar C:\eee*\*.*
многие другие архиваторы - на это способны, а rar, который вроде круче всех - не может
Автор: EugeneRoshal
Дата сообщения: 04.09.2015 14:47
say24

Цитата:
rar a eee.rar C:\eee*\*.*

5.30 это обработает, но eee* будет искать по всему диску c:, а не только в корне. То есть, рекурсия для таких масок включается автоматически. Если это неудобно и есть потребность искать по маске каталога только в текущем каталоге, можно подумать на этот счет, но тогда придется автоматически включать рекурсию хотя бы для содержимого каталогов. Или вводить отдельный ключ для рекурсии файлов в каталогах и отдельный для каталогов, чего пока не хотелось бы, чтобы не запутывать синтаксис.

Тут в чем сложность. Допустим, мы в это команде учитываем -r. Тогда приведенная выше команда упакует eee* только в корне c:\ Но должны ли мы в этой ситуации паковать эти eee* без подкаталогов? Формально должны, мы ведь учитываем -r, а реально скорее всего это совсем не то, что ожидает пользователь. Тут у нас два вида рекурсии, один для масок каталогов, другой для содержимого каталогов, и оба навешены на один ключ -r. Есть над чем подумать.
Автор: Pasha_ZZZ
Дата сообщения: 04.09.2015 16:14
say24
Сгенери список каталогов через DIR или FOR /D и передай по конвейеру в RAR.EXE типа:
Цитата:
dir /b C:\eee*|rar a archive.rar @
Автор: TemaZosin
Дата сообщения: 04.09.2015 20:51

Цитата:
RAR.exe a -r -m5 -rr3p -s -x*.tmp -x*.bak "d:\Downloads\1.rar" "c:\Users\server\V"

Cоздает архив, в котором идет путь папок Users\server\V. Да, все, кроме "V" пустые. Как добиться, чтобы в архиве были сразу файлы папки "V" или сама папка, а не путь, что выше?


Так же интересует по текущей строчке, как добиться чтобы окошко было скрытое при запуске. Фоновый параметр "ibck" не работает (видимо только для гуи).
Автор: Victor_VG
Дата сообщения: 04.09.2015 21:06
TemaZosin

-ep1 добавить в команду. -ibck - rar v5.30b3 консольный - нет такого ключа [more=все ключи]RAR 5.30 beta 3 Copyright (c) 1993-2015 Alexander Roshal 1 Sep 2015

Usage: rar <command> -<switch 1> -<switch N> <archive> <files...>
<@listfiles...> <path_to_extract\>

<Commands>
a Add files to archive
c Add archive comment
ch Change archive parameters
cw Write archive comment to file
d Delete files from archive
e Extract files without archived paths
f Freshen files in archive
i[par]=<str> Find string in archives
k Lock archive
l[t[a],b] List archive contents [technical[all], bare]
m[f] Move to archive [files only]
p Print file to stdout
r Repair archive
rc Reconstruct missing volumes
rn Rename archived files
rr[N] Add data recovery record
rv[N] Create recovery volumes
s[name|-] Convert archive to or from SFX
t Test archive files
u Update files in archive
v[t[a],b] Verbosely list archive contents [technical[all],bare]
x Extract files with full path

<Switches>
- Stop switches scanning
@[+] Disable [enable] file lists
ac Clear Archive attribute after compression or extraction
ad Append archive name to destination path
ag[format] Generate archive name using the current date
ai Ignore file attributes
ao Add files with Archive attribute set
ap<path> Set path inside archive
as Synchronize archive contents
c- Disable comments show
cfg- Disable read configuration
cl Convert names to lower case
cu Convert names to upper case
df Delete files after archiving
dh Open shared files
dr Delete files to Recycle Bin
ds Disable name sort for solid archive
dw Wipe files after archiving
e[+]<attr> Set file exclude and include attributes
ed Do not add empty directories
en Do not put 'end of archive' block
ep Exclude paths from names
ep1 Exclude base directory from names
ep2 Expand paths to full
ep3 Expand paths to full including the drive letter
f Freshen files
hp[password] Encrypt both file data and headers
ht[b|c] Select hash type [BLAKE2,CRC32] for file checksum
id[c,d,p,q] Disable messages
ieml[addr] Send archive by email
ierr Send all messages to stderr
ilog[name] Log errors to file (registered versions only)
inul Disable all messages
ioff Turn PC off after completing an operation
isnd Enable sound
k Lock archive
kb Keep broken extracted files
log[f][=name] Write names to log file
m<0..5> Set compression level (0-store...3-default...5-maximal)
ma[4|5] Specify a version of archiving format
mc<par> Set advanced compression parameters
md<n>[k,m,g] Dictionary size in KB, MB or GB
ms[ext;ext] Specify file types to store
mt<threads> Set the number of threads
n<file> Additionally filter included files
n@ Read additional filter masks from stdin
n@<list> Read additional filter masks from list file
o[+|-] Set the overwrite mode
oc Set NTFS Compressed attribute
oh Save hard links as the link instead of the file
oi[0-4][:min] Save identical files as references
ol[a] Process symbolic links as the link [absolute paths]
or Rename files automatically
os Save NTFS streams
ow Save or restore file owner and group
p[password] Set password
p- Do not query password
qo[-|+] Add quick open information [none|force]
r Recurse subdirectories
r- Disable recursion
r0 Recurse subdirectories for wildcard names only
ri<P>[:<S>] Set priority (0-default,1-min..15-max) and sleep time in ms
rr[N] Add data recovery record
rv[N] Create recovery volumes
s[<N>,v[-],e] Create solid archive
s- Disable solid archiving
sc<chr>[obj] Specify the character set
sfx[name] Create SFX archive
si[name] Read data from standard input (stdin)
sl<size> Process files with size less than specified
sm<size> Process files with size more than specified
t Test files after archiving
ta<date> Process files modified after <date> in YYYYMMDDHHMMSS format
tb<date> Process files modified before <date> in YYYYMMDDHHMMSS format
tk Keep original archive time
tl Set archive time to latest file
tn<time> Process files newer than <time>
to<time> Process files older than <time>
ts<m,c,a>[N] Save or restore file time (modification, creation, access)
u Update files
v<size>[k,b] Create volumes with size=<size>*1000 [*1024, *1]
vd Erase disk contents before creating volume
ver[n] File version control
vn Use the old style volume naming scheme
vp Pause before each volume
w<path> Assign work directory
x<file> Exclude specified file
x@ Read file names to exclude from stdin
x@<list> Exclude files listed in specified list file
y Assume Yes on all queries
z[file] Read archive comment from file[/more]
Автор: EugeneRoshal
Дата сообщения: 04.09.2015 23:26
say24

Цитата:
rar a eee.rar C:\eee*\*.*

Я сейчас все-таки сделал, чтобы такая команда искала eee* в корне C: без рекурсии, а рекурсивный поиск выполнялся только при наличии -r. При этом для масок каталогов содержимое найденных каталогов всегда добавляется со всеми подкаталогами вне зависимости от наличия -r. Я выложил обновленную сборку WinRAR 5.30 beta 3 English с таким поведением на rarlab.com.

Пока не обещаю, что это окончательный вариант поведения масок каталогов. Может посмотрю еще на них до релиза.
Автор: SLasH
Дата сообщения: 05.09.2015 00:07
TemaZosin 20:51 04-09-2015
Цитата:
Так же интересует по текущей строчке, как добиться чтобы окошко было скрытое при запуске.


Код: hstart.exe /NOCONSOLE /WAIT "RAR.exe a -r -m5 -rr3p -s -x*.tmp -x*.bak -ep1 "d:\Downloads\1.rar" "c:\Users\server\V""
Автор: Victor_VG
Дата сообщения: 05.09.2015 01:05
SLasH

Или через бесплатную (когда Андрей закончит её переделку не знаю - он загружен по работе и несколько моих баг-репортов мы пока отложили) hidcon v1.1.4: Hidden console 32x64. Если что вот её резервная копия hidcon-v1.1.4.7z ибо гуглокод в любой момент могут окончательно закрыть.
Автор: SLasH
Дата сообщения: 05.09.2015 02:55
Victor_VG
hstart бесплатен, пока не нужна опция /NOUAC.
Автор: Victor_VG
Дата сообщения: 05.09.2015 03:17
SLasH

Ну а утилита написанная Андреем ещё и с открытыми исходниками под GPL v3 идёт.
Автор: Poiskovik1977
Дата сообщения: 06.09.2015 13:51
Заметил, что если формат архива не RAR5, а RAR (для старых версий WinRAR), то пункт контекстного меню Извлечь не работает, если в архиве много файлов (более 100). Пробовал на версии WinRAR 5.21. Это глюк новых версий или так и задумано?
Автор: EugeneRoshal
Дата сообщения: 06.09.2015 18:05
Poiskovik1977
У меня это не воспроизводится. Возможно вам имеет смысл удалить WinRAR, убедиться, что rarext.dll и winrar.exe действительно удалены, и установить заново версию, взятую с rarlab.com. Может у вас что-то не в порядке с rarext.dll.
Автор: Poiskovik1977
Дата сообщения: 07.09.2015 20:16

Цитата:
Poiskovik1977
У меня это не воспроизводится. Возможно вам имеет смысл удалить WinRAR, убедиться, что rarext.dll и winrar.exe действительно удалены, и установить заново версию, взятую с rarlab.com. Может у вас что-то не в порядке с rarext.dll.


Проблему решил так: зажимаю архив правой кнопкой мыши и немножко смещаю. При этом появляется второе контекстное меню, в котором пункты извлечь и открыть уже работают. На одном форуме говорят, что это из-за сборки Винды - авторы сборки интегрировали архивную оболочку через CLSID в реестре, изначально привязав ее к 7-зип.
Автор: Victor_VG
Дата сообщения: 07.09.2015 21:09
Poiskovik1977

Цитата:
Заметил, что если формат архива не RAR5, а RAR (для старых версий WinRAR), то пункт контекстного меню Извлечь не работает, если в архиве много файлов (более 100). Пробовал на версии WinRAR 5.21. Это глюк новых версий или так и задумано?

Из сего описания условий воспроизведения явления не видно. Оторвите шаловливые ручки авторам своего "зверя", а заодно может и бестолковки им скрутить - они это честно заработали..

Цитата:
На одном форуме говорят, что это из-за сборки Винды - авторы сборки интегрировали архивную оболочку через CLSID в реестре, изначально привязав ее к 7-зип.

7-Zip увы, так же подобной болезнью не страдает, даже старые его версии. У него своих ошибок хватит а на чужие "лавры" Игорь не претендует. Авторы вашего "зверя" использовали какую-то недоделку, вот и используйте в их сторону пинально-сапого-дубинально-прикладный метод вправления мозгов коли в их проекте оного "елементу" не предусмотрели. Мы что ли за вас это будем делать?
Автор: yanko12
Дата сообщения: 08.09.2015 03:21
EugeneRoshal

Вопрос автору - раз вы сделали AES-256, может сделаете и возможность "ложного пароля" ? хотя б одного ? и так что нельзя было узнать что он ложный.
+ желательно чтоб информация из одного файла использовалась как "словарь" или "исходные байты" для второго.. тогда размер архива не сильно увеличится от добавки второго файла
Я тут фильм посмотрел по теме http://forum.ru-board.com/topic.cgi?forum=5&topic=12023&start=220#10



Автор: Victor_VG
Дата сообщения: 08.09.2015 05:10
yanko12

А ещё проще код Шеннона-Фано. Те, кто на государя работает спросят вас и без паяльника так, что вы всё вспомните .. за сто лет до вашего рождения. И сделают это законно и вежливо.
Автор: say24
Дата сообщения: 08.09.2015 10:10
EugeneRoshal
М. б. просто отделить логически "что искать" от "где искать"? Иначе мозг можно сломать.
Что я имею ввиду:
rar a eee.rar -ключ1 eee* -ключ2 fff*
(сам "-ключ1" можно и опустить: rar a eee.rar eee* -ключ2 fff*)
по смыслу: среди содержимого внутри eee* ищем то, что попадает в маску fff*
так как "-ключ2" нужен только для рекурсивной выборки, то противоречий вроде бы нет, и путаницы - нет
rar a txt_in_instructions C:\*instruct* -ключ2 *.txt
- архив всех инструкций, которые в текстовом формате:
myinstructions\eprst\stewedwebfelj.txt
instructions for my phone\nokia3310.txt
instructions\doc23492387.txt
Автор: Pasha_ZZZ
Дата сообщения: 08.09.2015 12:20
say24
Есть команда DIR, есть команда FOR, поддерживаются списки файлов (@) и их получение из StdIn - более чем достаточно для реализации всех ваших смелых идей.
Автор: say24
Дата сообщения: 08.09.2015 13:27
Pasha_ZZZ
Ну да, а ещё, есть C++, на котором вообще можно всё что угодно написать...
Автор: EugeneRoshal
Дата сообщения: 08.09.2015 14:46
yanko12

Цитата:
Вопрос автору - раз вы сделали AES-256, может сделаете и возможность "ложного пароля" ?

Надежность AES базируется на дизайне алгоритма. Надежность же ложного пароля основывалась бы на том, что WinRAR закрывает глаза на часть данных в архиве, которая не может быть расшифрована с помощью введенного пароля. WinRAR-то, может, и закроет глаза, а другая утилита, созданная на этот случай, не закроет, и сообщит о присутствии данных, не соответствующих паролю. Проще говоря, я сейчас не знаю, как это сделать надежно.

say24

Цитата:
rar a eee.rar -ключ1 eee* -ключ2 fff*
(сам "-ключ1" можно и опустить: rar a eee.rar eee* -ключ2 fff*)
по смыслу: среди содержимого внутри eee* ищем то, что попадает в маску fff*

В свежевыложенной сборке WinRAR 5.30 beta 3 English это делается как:

rar a eee.rar eee*\fff*

Если eee* нужно искать и в подкаталогах, то добавляем -r. Правда нельзя запретить рекурсию для файлов. То есть, fff* будет искаться и в корне найденных каталогов и в их подкаталогах. Но ситуация, когда мы ищем каталоги по маске и при этом пакуем их не целиком, а только файлы в корне, представляется мне искусственной и в жизни вряд ли встречающейся.

И еще, если масок каталогов в параметре больше одной:

rar a eee.rar ddd*\eee*\fff*

тут уже rar включит рекурсию при поиске каталогов, даже если -r не указан.
Автор: yanko12
Дата сообщения: 08.09.2015 19:39
EugeneRoshal

Цитата:
Проще говоря, я сейчас не знаю, как это сделать надежно.

А как Ассанж из фильма это сделал ? как-то на уровне файловой системы ?
Автор: EugeneRoshal
Дата сообщения: 08.09.2015 19:45
yanko12
Не знаю.
Автор: Victor_VG
Дата сообщения: 08.09.2015 20:06
yanko12

Ваш вопрос сродни этому:

Цитата:
Не сделано? Открываю XLS, в Process Explorer в свойствах процесса EXCEL11.EXE вижу командную строку "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" "C:\Temp\1.xls", но в Process Hacker в этом поле стоит N/A.

и далее когда выясняется что ассоциированная программа находится в среде ВМ ("портабле"), файл запаролен и ещё куча подробностей кои приходится буквально клещами тащить. И это при том, что автор вопроса человек технически грамотный, но просто он не точно формулирует свою мысль и иди его пойми...
Автор: oshizelly
Дата сообщения: 08.09.2015 22:05
yanko12 03:21 08-09-2015
Цитата:
аз вы сделали AES-256, может сделаете и возможность "ложного пароля" ? хотя б одного ? и так что нельзя было узнать что он ложный.

Мне кажется, что такая опция была бы весьма полезной. Конечно, не могу оценить, насколько это сложно реализовать.

EugeneRoshal 14:46 08-09-2015
Цитата:
Надежность же ложного пароля основывалась бы на том, что WinRAR закрывает глаза на часть данных в архиве, которая не может быть расшифрована с помощью введенного пароля. WinRAR-то, может, и закроет глаза, а другая утилита, созданная на этот случай, не закроет, и сообщит о присутствии данных, не соответствующих паролю.

Возможно эти непонятные данные, которые показывает специальная утилита - отнюдь не скрытые от глаз пусковые коды ракет, а просто массив байтов для восстановления основных данных архива на случай их поломки? (Вот такой вот создатель этого архива перестраховщик, выставил значение опции Recovery Record равным 100%). Соответственно, вполне логично, что сам WinRar не отображает эти служебные данные в списке файлов запароленного архива.
Автор: Victor_VG
Дата сообщения: 08.09.2015 23:51
oshizelly

Есть мудрое правило - не дразни гусей. А такие "данные" станут красной тряпкой для быка. Смысл?
Автор: yanko12
Дата сообщения: 09.09.2015 01:00
Victor_VG
если гусебык увидит у каждого эту кр. тряпку он быстро успокоится что и происходит с электронными деньгами например битки которые гуси запретили а теперь разрешили. а коммерческая тайна - тоже деньги

Цитата:
приходится буквально клещами тащить.

в фильме на который я дал ссылку выше Ассанж упоминал только название "rubber hose". всё.
дополнительно нашлось только это
https://en.wikipedia.org/wiki/Rubberhose_%28file_system%29
https://en.wikipedia.org/wiki/StegFS
https://en.wikipedia.org/wiki/Rubber-hose_cryptanalysis

Сам термин «двусмысленное шифрование» придуман Джулианом Ассанджем и Ральфом Вайманном в ходе работы над Rubberhose

А ведь любая воспринимаемая мозгом информация двусмысленна, неоднозначна и обманна (майявади) - ибо она воспринимается на основе накопленного тезауруса который у всех разный -> расшифровываемое разными мозгами тоже разное.
Можно сделать неоднозначную расшифровку на основе ранее принятых файлов..
Автор: Userrr
Дата сообщения: 09.09.2015 01:21

Цитата:
Сам термин «двусмысленное шифрование» придуман Джулианом Ассанджем и Ральфом Вайманном

в моей деревни это называется - обыкновенная 'стеганография'. и смысл в подобном шифровании есть только, для текстовых файлов, где невозможно заметить соотношение 'мусора' и 'информации'
Автор: Victor_VG
Дата сообщения: 09.09.2015 01:25
yanko12

Для начала расшифруйте это:

9851 2617 4167 7492
5678 7321 5681 7912
1256 2891 5024 4279
1479 3895 3281 4311

когда закончите - приходите, продолжим.
Автор: Aniskin
Дата сообщения: 09.09.2015 10:21
Подскажите, как можно обработать следующую ситуацию.

Есть, к примеру, такая структура файлов:

c:\folder\subfolder1\file1.dat
c:\folder\subfolder1\file2.dat
c:\folder\subfolder2\subfolder3\file3.dat
c:\folder\subfolder2\subfolder3\file4.dat

Как упаковать в rar архив два файла так, что бы получился архив следующей структуры:

subfolder1\file1.dat
subfolder2\subfolder3\file4.dat

В общем случае количество файлов и вложенность может быть любой, важно упаковать файлы с сохранением относительного пути относительно c:\folder\.
Автор: say24
Дата сообщения: 09.09.2015 10:50
EugeneRoshal
Не искусственная ситуация, прямо с реальной задачи писал. Реальная задача: Куча винтов с однотипной структурой, которые надо выборочно сбакапить (повытаскивать содержимое некоторых каталогов полностью, а некоторых - по маске). Проблема в том, что некоторые винты уже содержат сохранки: если основной каталог C:\eee, то могут встречаться ранее сохранённые C:\eee2, C:\eee_12.2013 и прочие вариации, а также могут лежать и архивы, вроде C:\eee1234.rar. Вот и надо чтобы в архив залетело:
C:\eee\ (включая всё содержимое)
C:\eee2\ (включая всё содержимое)
C:\eee_12.2013\ (включая всё содержимое)
C:\eee1234.rar
C:\bbb\ttt\ (только файлы *.ddd и *.dd2)

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160

Предыдущая тема: Прога для поиска картинок в интернете.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.