powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Распаковка архивов на C#
64 сообщений из 64, показаны все 3 страниц
Распаковка архивов на C#
    #40126202
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе

Подскажите, что изменить в коде, чтобы прога распаковывала все архивы рекурсивно в указанном каталоге?
и создавалась с начала папка с именем архива и туда распаковывала архив
набросал код .. работает только частично

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
 try
            {

                string[] allFoundFiles = Directory.GetFiles(t_catalog.Text, "*.*", SearchOption.AllDirectories);
                foreach (string file in allFoundFiles)
                {
                    dirs.Add(file);
                }

                ProcessStartInfo ps = new ProcessStartInfo();
                //Имя запускаемого приложения
                ps.FileName = @"C:\\Program Files (x86)\\WinRAR\\RAR.exe";
                //команда
               
                foreach (string item in dirs)
                {
                    string arc = "E:\\test";
                    string arch = "e"+ " " + item.ToString() + " " + arc;
                   
                 ps.Arguments = arch;

                    Process.Start(ps);

                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }




Заранее спасибо за помощь
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40126206
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014,
используй встроенные средства для распаковки архивов, а не Process.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40126211
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub
SAS2014,
используй встроенные средства для распаковки архивов, а не Process.

А есть встроенные средства для работы с RAR?


SAS2014,

https://stackoverflow.com/questions/1025863/read-content-of-rar-files-using-c-sharp
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40126255
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,
прошляпил формат архива, думал, что ZIP.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40126372
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub
Сон Веры Павловны,
прошляпил формат архива, думал, что ZIP.

Можно вот это попробовать: https://github.com/squid-box/SevenZipSharp
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40126486
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а может кто то напишет код, который будет распаковывать только определенные файлы с архивов
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40126488
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014
а может кто то напишет код, который будет распаковывать только определенные файлы с архивов

Хэлп на rar.exe слабо почитать?
rar.exe /?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
RAR 5.30    Авторские права (c) 1993-2015 Александр Рошал    18 Nov 2015
Пробная версия (наберите RAR -? для вывода справки)

Использование: RAR <команда> -<ключ 1> -<ключ N> <архив> <файлы...>
               <@файл-список...> <путь_для_извлечения\>

<Команды>
  a             Добавить файлы в архив
  c             Добавить комментарий архива
  ch            Изменить параметры архива
  cw            Сохранить комментарий архива в файле
  d             Удалить файлы из архива
  e             Извлечь файлы без сохранённых в архиве путей
  f             Обновить имеющиеся в архиве файлы
  i[пар]=<стр>  Найти строку в архивах
  k             Заблокировать архив
  l[t[a],b]     Показать содержимое архива [техинфо[все],минимум]
  m[f]          Переместить в архив [только файлы]
  p             Извлечь файл на устройство stdout
  r             Исправить повреждённый архив
  rc            Воссоздать отсутствующие/повреждённые тома
  rn            Переименовать файлы в архиве
  rr[N]         Добавить данные для восстановления
  rv[N]         Создать тома для восстановления
  s[модуль|-]   Преобразовать архив в/из SFX
  t             Протестировать архив
  u             Обновить файлы в архиве
  v[t[a],b]     Показать подробное содержимое архива [техинфо[все],минимум]
  x             Извлечь файлы с полными путями

<Ключи>
  -             Прервать дальнейший поиск ключей в командной строке
  @[+]          Запретить [разрешить] списки файлов
  ac            Снять атрибут 'Архивный' после архивации или извлечения
  ad            Добавить к целевому пути имя архива
  ag[формат]    Добавить к имени архива текущие дату и время
  ai            Игнорировать файловые атрибуты
  ao            Добавить файлы с установленным атрибутом 'Архивный'
  ap<путь>      Указать путь внутри архива
  as            Синхронизировать содержимое архива
  c-            Не показывать комментарии
  cfg-          Запретить чтение конфигурации
  cl            Преобразовывать имена файлов в нижний регистр
  cu            Преобразовывать имена файлов в верхний регистр
  df            Удалить файлы после архивации
  dh            Открывать совместно используемые файлы
  dr            Удалить файлы в Корзину
  ds            Не сортировать файлы при добавлении в непрерывный архив
  dw            Уничтожить (затереть) файлы после архивации
  e[+]<атр>     Исключить/включить в обработку файлы с указанными атрибутами
  ed            Не добавлять пустые каталоги
  en            Не добавлять в архив блок 'Конец архива' (для RAR 4 и младше)
  ep            Исключить пути из имён
  ep1           Исключить базовый каталог из имён
  ep2           Сохранять полные пути файлов
  ep3           Сохранять полные пути файлов, включая буквы дисков
  f             Обновить имеющиеся файлы
  hp[пароль]    Шифровать содержимое файлов и оглавление архива
  ht[b|c]       Выбрать тип хеша [BLAKE2|CRC32] для контрольных сумм
  id[c,d,p,q]   Не показывать сообщения
  ieml[адрес]   Отправить архив по электронной почте
  ierr          Отправлять все сообщения на stderr
  ilog[имя]     Записывать протокол ошибок в файл (в зарегистрированной версии)
  inul          Не показывать никаких сообщений
  ioff          Выключить компьютер по завершении операции
  isnd          Разрешить звуковые сигналы
  k             Заблокировать архив
  kb            Сохранять на диске файлы, извлечённые с ошибками
  log[ф][=имя]  Записать имена в файл-протокол (ф=A,F,P,U)
  m<0...5>      Метод сжатия (0-без сжатия...3-обычный...5-максимальный)
  ma[4|5]       Версия формата архивирования
  mc<параметр>  Дополнительные параметры сжатия
  md<n>[k,m,g]  Размер словаря в КБ, МБ или ГБ
  ms[расш;расш] Расширения файлов для архивирования без сжатия
  mt<потоки>    Количество потоков
  n<файл>       Дополнительный фильтр файлов, включённых в обработку
  n@            Прочитать дополнительные маски фильтрации с stdin
  n@<список>    Прочитать дополнительные маски фильтрации из файла-списка
  o[+|-]        Режим перезаписи
  oc            Устанавливать NTFS-атрибут 'Сжатый'
  oh            Сохранять жёсткие ссылки как ссылки, а не как файлы
  oi[0-4][:мин] Сохранять идентичные файлы как ссылки
  ol[a]         Обрабатывать символические ссылки как ссылки [с абсолютными путями]
  or            Переименовывать файлы автоматически
  os            Сохранять потоки NTFS
  ow            Сохранять/восстанавливать информацию о правах доступа к файлам
  p[пароль]     Указать пароль шифрования архива
  p-            Не спрашивать пароль
  qo[-|+]       Добавить информацию для быстрого открытия архива [нет|принудительно]
  r             Включить в обработку подкаталоги
  r-            Запретить обработку подкаталогов
  r0            Обрабатывать подкаталоги в соответствии с шаблоном
  ri<P>[:<S>]   Приоритет (0-по умолчанию,1-мин...15-макс) и время простоя (мс)
  rr[N]         Добавить данные для восстановления
  rv[N]         Создать тома для восстановления
  s[<N>,v[-],e] Создать непрерывный архив
  s-            Запретить создание непрерывных архивов
  sc<код>[об]   Указать кодировку символов (и объекты)
  sfx[модуль]   Создать самораспаковывающийся (SFX) архив
  si[имя]       Читать данные со стандартного устройства ввода (stdin)
  sl<размер>    Обрабатывать файлы размером меньше указанного
  sm<размер>    Обрабатывать файлы размером больше указанного
  t             Протестировать файлы после архивации
  ta<дата>      Обрабатывать файлы, изменённые после <даты> (ГГГГММДДЧЧММСС)
  tb<дата>      Обрабатывать файлы, изменённые до <даты> (ГГГГММДДЧЧММСС)
  tk            Сохранять исходное время архива
  tl            Устанавливать время архива по времени новейшего файла
  tn<период>    Обрабатывать файлы не старее, чем <период> времени
  to<период>    Обрабатывать файлы более старые, чем <период> времени
  ts<m,c,a>[N]  Хранить/восстанавливать время изменения,создания,доступа файла
  u             Обновить файлы
  v<N>[k,b,m,M] Создавать архивные тома размером=<N>*1000 [*1024, *1, ...]
  vd            Удалять содержимое сменного диска перед созданием тома
  ver[n]        Управление версиями файлов
  vn            Старая схема именования томов
  vp            Пауза перед каждым томом
  w<путь>       Задать каталог для временных файлов
  x<имя>        Не обрабатывать указанный файл или каталог
  x@            Прочитать имена исключаемых из обработки файлов с stdin
  x@<список>    Не обрабатывать файлы/шаблоны, указанные в файле-списке
  y             Подразумевать ответ 'Да' на все запросы
  z[файл]       Прочитать комментарий архива из файла
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40126516
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014
а может кто то напишет код, который будет распаковывать только определенные файлы с архивов

Может за тебя еще и на работу сходить?
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40126793
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
SAS2014
а может кто то напишет код, который будет распаковывать только определенные файлы с архивов

Может за тебя еще и на работу сходить?


А зачем ты тут сидишь? По троллить или делится знаниями хотя у тебя в области программирования их нет.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40126794
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
SAS2014
а может кто то напишет код, который будет распаковывать только определенные файлы с архивов

Хэлп на rar.exe слабо почитать?
rar.exe /?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
RAR 5.30    Авторские права (c) 1993-2015 Александр Рошал    18 Nov 2015
Пробная версия (наберите RAR -? для вывода справки)

Использование: RAR <команда> -<ключ 1> -<ключ N> <архив> <файлы...>
               <@файл-список...> <путь_для_извлечения\>

<Команды>
  a             Добавить файлы в архив
  c             Добавить комментарий архива
  ch            Изменить параметры архива
  cw            Сохранить комментарий архива в файле
  d             Удалить файлы из архива
  e             Извлечь файлы без сохранённых в архиве путей
  f             Обновить имеющиеся в архиве файлы
  i[пар]=<стр>  Найти строку в архивах
  k             Заблокировать архив
  l[t[a],b]     Показать содержимое архива [техинфо[все],минимум]
  m[f]          Переместить в архив [только файлы]
  p             Извлечь файл на устройство stdout
  r             Исправить повреждённый архив
  rc            Воссоздать отсутствующие/повреждённые тома
  rn            Переименовать файлы в архиве
  rr[N]         Добавить данные для восстановления
  rv[N]         Создать тома для восстановления
  s[модуль|-]   Преобразовать архив в/из SFX
  t             Протестировать архив
  u             Обновить файлы в архиве
  v[t[a],b]     Показать подробное содержимое архива [техинфо[все],минимум]
  x             Извлечь файлы с полными путями

<Ключи>
  -             Прервать дальнейший поиск ключей в командной строке
  @[+]          Запретить [разрешить] списки файлов
  ac            Снять атрибут 'Архивный' после архивации или извлечения
  ad            Добавить к целевому пути имя архива
  ag[формат]    Добавить к имени архива текущие дату и время
  ai            Игнорировать файловые атрибуты
  ao            Добавить файлы с установленным атрибутом 'Архивный'
  ap<путь>      Указать путь внутри архива
  as            Синхронизировать содержимое архива
  c-            Не показывать комментарии
  cfg-          Запретить чтение конфигурации
  cl            Преобразовывать имена файлов в нижний регистр
  cu            Преобразовывать имена файлов в верхний регистр
  df            Удалить файлы после архивации
  dh            Открывать совместно используемые файлы
  dr            Удалить файлы в Корзину
  ds            Не сортировать файлы при добавлении в непрерывный архив
  dw            Уничтожить (затереть) файлы после архивации
  e[+]<атр>     Исключить/включить в обработку файлы с указанными атрибутами
  ed            Не добавлять пустые каталоги
  en            Не добавлять в архив блок 'Конец архива' (для RAR 4 и младше)
  ep            Исключить пути из имён
  ep1           Исключить базовый каталог из имён
  ep2           Сохранять полные пути файлов
  ep3           Сохранять полные пути файлов, включая буквы дисков
  f             Обновить имеющиеся файлы
  hp[пароль]    Шифровать содержимое файлов и оглавление архива
  ht[b|c]       Выбрать тип хеша [BLAKE2|CRC32] для контрольных сумм
  id[c,d,p,q]   Не показывать сообщения
  ieml[адрес]   Отправить архив по электронной почте
  ierr          Отправлять все сообщения на stderr
  ilog[имя]     Записывать протокол ошибок в файл (в зарегистрированной версии)
  inul          Не показывать никаких сообщений
  ioff          Выключить компьютер по завершении операции
  isnd          Разрешить звуковые сигналы
  k             Заблокировать архив
  kb            Сохранять на диске файлы, извлечённые с ошибками
  log[ф][=имя]  Записать имена в файл-протокол (ф=A,F,P,U)
  m<0...5>      Метод сжатия (0-без сжатия...3-обычный...5-максимальный)
  ma[4|5]       Версия формата архивирования
  mc<параметр>  Дополнительные параметры сжатия
  md<n>[k,m,g]  Размер словаря в КБ, МБ или ГБ
  ms[расш;расш] Расширения файлов для архивирования без сжатия
  mt<потоки>    Количество потоков
  n<файл>       Дополнительный фильтр файлов, включённых в обработку
  n@            Прочитать дополнительные маски фильтрации с stdin
  n@<список>    Прочитать дополнительные маски фильтрации из файла-списка
  o[+|-]        Режим перезаписи
  oc            Устанавливать NTFS-атрибут 'Сжатый'
  oh            Сохранять жёсткие ссылки как ссылки, а не как файлы
  oi[0-4][:мин] Сохранять идентичные файлы как ссылки
  ol[a]         Обрабатывать символические ссылки как ссылки [с абсолютными путями]
  or            Переименовывать файлы автоматически
  os            Сохранять потоки NTFS
  ow            Сохранять/восстанавливать информацию о правах доступа к файлам
  p[пароль]     Указать пароль шифрования архива
  p-            Не спрашивать пароль
  qo[-|+]       Добавить информацию для быстрого открытия архива [нет|принудительно]
  r             Включить в обработку подкаталоги
  r-            Запретить обработку подкаталогов
  r0            Обрабатывать подкаталоги в соответствии с шаблоном
  ri<P>[:<S>]   Приоритет (0-по умолчанию,1-мин...15-макс) и время простоя (мс)
  rr[N]         Добавить данные для восстановления
  rv[N]         Создать тома для восстановления
  s[<N>,v[-],e] Создать непрерывный архив
  s-            Запретить создание непрерывных архивов
  sc<код>[об]   Указать кодировку символов (и объекты)
  sfx[модуль]   Создать самораспаковывающийся (SFX) архив
  si[имя]       Читать данные со стандартного устройства ввода (stdin)
  sl<размер>    Обрабатывать файлы размером меньше указанного
  sm<размер>    Обрабатывать файлы размером больше указанного
  t             Протестировать файлы после архивации
  ta<дата>      Обрабатывать файлы, изменённые после <даты> (ГГГГММДДЧЧММСС)
  tb<дата>      Обрабатывать файлы, изменённые до <даты> (ГГГГММДДЧЧММСС)
  tk            Сохранять исходное время архива
  tl            Устанавливать время архива по времени новейшего файла
  tn<период>    Обрабатывать файлы не старее, чем <период> времени
  to<период>    Обрабатывать файлы более старые, чем <период> времени
  ts<m,c,a>[N]  Хранить/восстанавливать время изменения,создания,доступа файла
  u             Обновить файлы
  v<N>[k,b,m,M] Создавать архивные тома размером=<N>*1000 [*1024, *1, ...]
  vd            Удалять содержимое сменного диска перед созданием тома
  ver[n]        Управление версиями файлов
  vn            Старая схема именования томов
  vp            Пауза перед каждым томом
  w<путь>       Задать каталог для временных файлов
  x<имя>        Не обрабатывать указанный файл или каталог
  x@            Прочитать имена исключаемых из обработки файлов с stdin
  x@<список>    Не обрабатывать файлы/шаблоны, указанные в файле-списке
  y             Подразумевать ответ 'Да' на все запросы
  z[файл]       Прочитать комментарий архива из файла


Спс за не компитентный ответ, который каждый в первую очередь смотрит
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40126795
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясно тут нет программеров чей класс профи или знания и воспитаность позволяет помощь в написание пару строк кода
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40126875
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014
хотя у тебя в области программирования их нет.

Бугагос. Это мне говорит чувак, который сам решить задачу распаковки архива не может

Я тебе дал ссылку на либу, которая, имхо, должна это уметь. Иди, читай, изучай, пробуй. Толчок за тобой смывать тут никто не подписывался.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40126916
Алымов Анатолий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стандартная либа с rar так же работает как и с zip, исключая многотомные архивы. Если их нет, вообще не понимаю что ТС ищет.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40126991
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014
Спс за не компитентный ответ, который каждый в первую очередь смотрит

И что там непонятно?

Извлечь из архива arc.rar файлы my_file1.* и myfile2.* в папку folder_out
Код: c#
1.
rar.exe x arc.rar my_file1.* myfile2.* folder_out\
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127031
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
SAS2014
хотя у тебя в области программирования их нет.

Бугагос. Это мне говорит чувак, который сам решить задачу распаковки архива не может

Я тебе дал ссылку на либу, которая, имхо, должна это уметь. Иди, читай, изучай, пробуй. Толчок за тобой смывать тут никто не подписывался.

Ну так прояви знания свои..
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127035
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014
Ну так прояви знания свои..

Какой мне профит с этого? Тебе жизнь облегчить?
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127036
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014
Ясно тут нет программеров чей класс профи или знания и воспитаность позволяет помощь в написание пару строк кода


мы тут! просто, нас не видно
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127041
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
мы тут! просто, нас не видно

Как тараканы по щелям прячемся и никаким скрамом-аджайлом нас не вывести
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127053
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
SAS2014
Ну так прояви знания свои..

Какой мне профит с этого? Тебе жизнь облегчить?

Ты разве не хочешь побравировать своим скилом и инкрементировать карму? Ведь в противном случае ты не сможешь считаться воспитанным профи.
Кстати почему ты так часто в бане сидишь на этом форуме?
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127069
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub
Ты разве не хочешь побравировать своим скилом и инкрементировать карму?

Побравировать написанием дюжины строчек кода студенческого уровня? Я тебя умоляю.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127087
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо того, чтоб разводить вайн на форуме, давно бы уже открыл репозиторий SevenZipSharp
нашел в тестах 100 примеров для твоей задачи, как в этом файле:
https://github.com/squid-box/SevenZipSharp/blob/dev/SevenZip.Tests/SevenZipCompressorAsynchronousTests.cs
что тут еще объяснять то? тебе нужно. чтоб мы написали код, который уже написан?
задача тривиальна, я вообще не знаю, зачем использую rar в промышленных целях, (в личных персональных хоть arj, дело вкуса), но это не имеет особого значения.
в целом, через процессы тоже норм, но проблема с тем, что это неуправляемая часть выполнения, для задач на 3-4 запуска потянет и такое. я бы вообще в PS такое делал, а не в C#, это именно его уровень
то, что ты хочешь, не сложно сделать даже на BATCH, но не кто не будет это делать за тебя, просто так, тут люди на вопросы отвечают, помогают, но код писать тебе
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127129
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub
Кстати почему ты так часто в бане сидишь на этом форуме?

Травля творческих и талантливых людей всегда была традиционна для России.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127176
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
Вместо того, чтоб разводить вайн на форуме, давно бы уже открыл репозиторий SevenZipSharp
нашел в тестах 100 примеров для твоей задачи, как в этом файле:
https://github.com/squid-box/SevenZipSharp/blob/dev/SevenZip.Tests/SevenZipCompressorAsynchronousTests.cs
что тут еще объяснять то? тебе нужно. чтоб мы написали код, который уже написан?
задача тривиальна, я вообще не знаю, зачем использую rar в промышленных целях, (в личных персональных хоть arj, дело вкуса), но это не имеет особого значения.
в целом, через процессы тоже норм, но проблема с тем, что это неуправляемая часть выполнения, для задач на 3-4 запуска потянет и такое. я бы вообще в PS такое делал, а не в C#, это именно его уровень
то, что ты хочешь, не сложно сделать даже на BATCH, но не кто не будет это делать за тебя, просто так, тут люди на вопросы отвечают, помогают, но код писать тебе


У меня задача такова что надо распаковать всё архивы в папках далее и в определённых файлах искать определённые строки и вывести их в тхт файл или в датагридвью с этим проблем нет
С архивом затык
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127187
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
vb_sub
Кстати почему ты так часто в бане сидишь на этом форуме?

Травля творческих и талантливых людей всегда была традиционна для России.


в точку! нам всегда было не просто
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127192
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014,

Я так и не понял, в чем затык? Запустить через Process RAR с параметрами командной строки? Если все архивы в одном каталоге, зачем вам рекурсия? Вы что, комсомолец и любите трудности?
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127345
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообщем я взял утилиту, которая распаковывает нужные виды архивов и написал код
но проблема возникла новая, что строка Process.Start("cmd", "/C" + "exit"); - создает новое окно cmd не закрывая старое

можно ли как то закрывать старое cmd созданное в цикле????

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
   //Имя запускаемого приложения
                ProcessStartInfo cmd = new ProcessStartInfo();
                cmd.FileName = "cmd";
                
                //команда
                Directory.CreateDirectory("temp_files");
                DirectoryInfo dir2 = new DirectoryInfo(@"temp_files");
                
                foreach (string item in dirs)
                {
                    string[] arr = item.Split(new string[] { "\\" }, StringSplitOptions.None);
                    string t = arr[arr.Length-1];

                    dir2.CreateSubdirectory(t);
                    string arc = dir2.FullName + "\\" + t;

                    string cmd_1 = @"/k 7z e " + item.ToString() + " -o" + arc + " objects.txt -r -y";
                    cmd.Arguments = cmd_1;
                    Process.Start(cmd);

                   // Process.Start("cmd", "/C" + "exit");
                }
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127346
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
string cmd_1 = @"/k 7z e " + item.ToString() + " -o" + arc + " objects.txt -r -y";


строка распаковки архива и куда и какой имено файл
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127348
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда запускается дочернее консольное приложение оно по умолчанию использует консоль родительского, но если у родительского нет консоли, то дочернее создает свою консоль.

Сделай свое приложение консольным, тогда весь вывод пойдет в твою консоль.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127350
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014
вообщем я взял утилиту, которая распаковывает нужные виды архивов и написал код
но проблема возникла новая, что строка Process.Start("cmd", "/C" + "exit"); - создает новое окно cmd не закрывая старое

Пробелы кто за тебя должен ставить? нет такого ключа "/Cexit" вот и игнорирует его cmd.

В коде ты ключ /k используешь, в хэлп пробовал заглянуть что он означает?
cmd /?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Запуск новой копии интерпретатора команд Windows.

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] строка]

/C      Выполнение указанной команды (строки) с последующим завершением.
/K      Выполнение указанной команды (строки) без последующего завершения.
/S      Изменение поведения после /C или /K (см. ниже)
/Q      Отключение режима вывода команд на экран (ECHO).
/D      Отключение выполнения команд AutoRun из реестра (см. ниже)
/A      Вывод результатов выполнения команд в формате ANSI.
/U      Вывод результатов выполнения команд в формате UNICODE.
/T:fg    Выбор цвета переднего плана/фона (более подробно см. COLOR /?)
/E:ON   Разрешение расширенной обработки команд (см. ниже)
/E:OFF  Запрет расширенной обработки команд (см. ниже)
/F:ON   Разрешение символов завершения имен файлов и папок (см. ниже)
/F:OFF  Запрет символов завершения имен файлов и папок (см. ниже)
/V:ON   Разрешение отложенного расширения переменных среды с применением
        символа '!' в качестве разделителя. Например, /V:ON разрешает
        использовать !var! в качестве расширения переменной var во время
        выполнения. Синтаксис var служит для расширения переменных
        при вводе, что приводит к совсем другим результатам внутри
        цикла FOR.
/V:OFF  Запрет отложенного расширения переменных среды.


cmd тебе тут вообще не надо чтобы 7z запускать. Запускай сразу 7z, а все остальное пиши в аргументы
Код: c#
1.
2.
3.
cmd.FileName = "7z";
cmd.Arguments = @"e " + item.ToString() + " -o" + arc + " objects.txt -r -y";
Process.Start(cmd);
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127399
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Когда запускается дочернее консольное приложение оно по умолчанию использует консоль родительского, но если у родительского нет консоли, то дочернее создает свою консоль.

Сделай свое приложение консольным, тогда весь вывод пойдет в твою консоль.

Можно запускать с опциями редиректа. Но я не пойму почему автор так уперся делать это запуская отдельный процесс. Два раза ему тут уже дали ссылку на библиотеку готовую с примерами.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127404
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Dima T
Когда запускается дочернее консольное приложение оно по умолчанию использует консоль родительского, но если у родительского нет консоли, то дочернее создает свою консоль.

Сделай свое приложение консольным, тогда весь вывод пойдет в твою консоль.

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



Моэет он бы и последовал рекомендациям, но появляются другие советчики и снова сбивают его с толку на запуск процесса
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127546
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014
можно ли как то закрывать старое cmd созданное в цикле????

У Process помимо метода Start есть и другие методы. Например, Close, Kill


SAS2014
Код: c#
1.
string cmd_1 = @"/k 7z e " + item.ToString() + " -o" + arc + " objects.txt -r -y";


String.Format отменили, я помню
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127568
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79
String.Format отменили, я помню
отменили в шестом шарпе
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127587
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Arm79
String.Format отменили, я помню
отменили в шестом шарпе

Кстати, смех-смехом, но в "шестом шарпе" советуют, там где это можно, вместо него использовать interpolated strings - для них сделали очень много оптимизаций на уровне компилятора.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127688
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
string.concat и то было бы лучше.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127696
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
string.concat и то было бы лучше.

Ну, вообще интерполяция там, где это уместно, и заменяется на concat:
Код: c#
1.
2.
3.
4.
5.
6.
7.
static void Main(string[] args)
{
  var a = "a";
  var b = "b";
  var c = "c";
  Console.WriteLine($"{a}{b}{c}");
}


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
.method private hidebysig static void Main (string[] args) cil managed 
{
  .maxstack 3
  .entrypoint
  .locals init (
    [0] string b,
    [1] string c
  )
  IL_0000: ldstr "a"
  IL_0005: ldstr "b"
  IL_000a: stloc.0
  IL_000b: ldstr "c"
  IL_0010: stloc.1
  IL_0011: ldloc.0
  IL_0012: ldloc.1
  IL_0013: call string [System.Runtime]System.String::Concat(string, string, string)
  IL_0018: call void [System.Console]System.Console::WriteLine(string)
  IL_001d: ret
}


String.Format при интерполяции включается уже в более сложных случаях типа
Код: c#
1.
2.
3.
4.
var a = 123;
var b = "b";
var c = "c";
Console.WriteLine($"{a:G}@{b}#{c}");
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127848
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Shocker.Pro
пропущено...
отменили в шестом шарпе

Кстати, смех-смехом, но в "шестом шарпе" советуют, там где это можно, вместо него использовать interpolated strings - для них сделали очень много оптимизаций на уровне компилятора.

Опять гонения на творческих людей? ))

Преждевременная оптимизация - это зло. Применение Interpolated strings в задаче с архивами именно с целью ускорения и оптимизаций просто не нужно. Вот наглядность - может быть.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127855
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79,

когда пишешь код. он должен быть понятными лаконичным, чтоб было достаточно одного взгляда для понимания происходящего
иногда даже в ущерб оптимизации, следуют сделать понятнее и яснее. декомпозировать на несколько методов или еще что то.
просто сравни 2 эти строки:
во второму случае, сразу видно, где строка начинается и где заканчивается и из чего она состоит, а при нормальной подсветке это видно еще лучше. но нет, мы будем говнякать и складывать строки. и делать это надо сразу, потому, что потом это уже никто и никогда править не будет. потому, что никому не нужны изменения в коммите, которые не касаются той задачи, для которой он создан
Код: c#
1.
2.
string cmd_1 = @"/k 7z e " + item.ToString() + " -o" + arc + " objects.txt -r -y";
var cmd_1 = $@"/k 7z e {item} -o{arc} objects.txt -r -y";
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127862
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
Arm79,

когда пишешь код. он должен быть понятными лаконичным, чтоб было достаточно одного взгляда для понимания происходящего
иногда даже в ущерб оптимизации, следуют сделать понятнее и яснее. декомпозировать на несколько методов или еще что то.
просто сравни 2 эти строки:
во второму случае, сразу видно, где строка начинается и где заканчивается и из чего она состоит, а при нормальной подсветке это видно еще лучше. но нет, мы будем говнякать и складывать строки. и делать это надо сразу, потому, что потом это уже никто и никогда править не будет. потому, что никому не нужны изменения в коммите, которые не касаются той задачи, для которой он создан
Код: c#
1.
2.
string cmd_1 = @"/k 7z e " + item.ToString() + " -o" + arc + " objects.txt -r -y";
var cmd_1 = $@"/k 7z e {item} -o{arc} objects.txt -r -y";



Не совсем понял, к чему этот спич? Я же так и сказал - через + склеивать строку отстой
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127870
fkfka2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes
Arm79,

когда пишешь код. он должен быть понятными лаконичным, чтоб было достаточно одного взгляда для понимания происходящего
иногда даже в ущерб оптимизации, следуют сделать понятнее и яснее. декомпозировать на несколько методов или еще что то.
просто сравни 2 эти строки:
во второму случае, сразу видно, где строка начинается и где заканчивается и из чего она состоит, а при нормальной подсветке это видно еще лучше. но нет, мы будем говнякать и складывать строки. и делать это надо сразу, потому, что потом это уже никто и никогда править не будет. потому, что никому не нужны изменения в коммите, которые не касаются той задачи, для которой он создан
Код: c#
1.
2.
string cmd_1 = @"/k 7z e " + item.ToString() + " -o" + arc + " objects.txt -r -y";
var cmd_1 = $@"/k 7z e {item} -o{arc} objects.txt -r -y";


И в первом и во втором случае код гамно. Потому что неизвестно с какими символами (пробелы и прочее) могут быть подставляемые параметры. Хочешь передать параметры в екзешник - для этого есть коллекция ArgumentList
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127913
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkfka2
Roman Mejtes
Arm79,

когда пишешь код. он должен быть понятными лаконичным, чтоб было достаточно одного взгляда для понимания происходящего
иногда даже в ущерб оптимизации, следуют сделать понятнее и яснее. декомпозировать на несколько методов или еще что то.
просто сравни 2 эти строки:
во второму случае, сразу видно, где строка начинается и где заканчивается и из чего она состоит, а при нормальной подсветке это видно еще лучше. но нет, мы будем говнякать и складывать строки. и делать это надо сразу, потому, что потом это уже никто и никогда править не будет. потому, что никому не нужны изменения в коммите, которые не касаются той задачи, для которой он создан
Код: c#
1.
2.
string cmd_1 = @"/k 7z e " + item.ToString() + " -o" + arc + " objects.txt -r -y";
var cmd_1 = $@"/k 7z e {item} -o{arc} objects.txt -r -y";


И в первом и во втором случае код гамно. Потому что неизвестно с какими символами (пробелы и прочее) могут быть подставляемые параметры. Хочешь передать параметры в екзешник - для этого есть коллекция ArgumentList

В итоге все-равно будет вызван CreateProcess() где все параметры в одной строке (lpCommandLine).
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40127919
fkfka2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T
В итоге все-равно будет вызван CreateProcess() где все параметры в одной строке (lpCommandLine).

ArgumentList когда собирает lpCommandLine ескейпит и квотит всякую гадость. Arguments передается как есть. Легко можно по исходникам убедиться.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128031
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Shocker.Pro
пропущено...
отменили в шестом шарпе

Кстати, смех-смехом, но в "шестом шарпе" советуют, там где это можно, вместо него использовать interpolated strings - для них сделали очень много оптимизаций на уровне компилятора.


В "шестом шарпе" или NET 6 ?
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128034
fkfka2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупин
В "шестом шарпе" или NET 6 ?

В шестом шарпе для .NET 6
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128105
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkfka2
Ролг Хупин
В "шестом шарпе" или NET 6 ?

В шестом шарпе для .NET 6


Вот, теперь корректно, а то нас же будут читать будущие поколения, которым лететь на Луну и Марс
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128108
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
будущие поколения, которым лететь на Луну и Марс
Да какие будущие поколения?

Истребители F22 не смогли пересечь 180 меридиан
При попытке перегнать истребители F22 «своим ходом» с Гавайских островов на базу ВВС Kadena на японском острове Окинава программный сбой «в навигационном обеспечении» вынудил пилотов развернуться и возвратиться туда, откуда вылетели. Теперь стала известна истинная природа «навигационной аномалии».
Как сообщает DefenseTech со ссылкой на Associated Press, истребители не сумели преодолеть так называемую «линию перемены дат» — условную линию, по разные стороны которой местное время одно и то же (с точностью до часового пояса), но календарные даты различаются на одни сутки. Линия перемены дат проходит по меридиану 180 градусов с отдельными отклонениями.
Перемена дат осуществляется (и вообще имеет смысл) лишь при использовании местного времени. При пересечении линии перемены дат необходимо либо прибавлять, либо вычитать одни сутки – в зависимости от того, в каком направлении осуществляется движение. По всей видимости, этот парадокс Земного шара, осознанный еще участниками экспедиции Магеллана, был позабыт разработчиками F-22 Raptor.
Последствия такой забывчивости оказались весьма ощутимыми. У истребителей в полете, отмечает Defense Tech, вышли из строя топливная и навигационная системы, а также – частично – связь.
Лишь одному пилоту удалось связаться с экспертами разработчика (компании Lockheed Martin). Несколько пилотов попытались перезагрузить ПО истребителя в полете.
«Победить» ошибку не удалось, однако сами истребители и их пилоты уцелели, что в подобной ситуации следует считать несомненной удачей. Возвращение на Гавайские острова потребовало дополнительной дозаправки в воздухе.
Впоследствии «навигационную аномалию» удалось исправить, и F-22 все-таки прибыли на авиабазу назначения.



2. Фирма Motorola испытывала новый процессор для автопилота на истребителе в Израиле. Все было отлажено. Пилоты на испытаниях отправились «огибать рельеф» с севера до юга Израиля. Истребитель прекрасно пролетел на автопилоте над равнинной частью, над горной частью, над долиной реки Иордан, и приближался к Мёртвому морю. Не долетев до него, неожиданно происходит общий сброс процессора, автопилот выключается на полном ходу, пилоты переходят на ручное управление, и сажают истребитель.

Процессор отправили на доработку и тестирование. Все тесты прошли снова без сбоев. Снова начали реальную проверку. Истребитель пролетел над всеми территориями, но при подлете к Мёртвому морю: общий сброс, выключение автопилота, ручная посадка.
Длительные тесты не могли выявить никаких изъянов. После продолжительных попыток было найдено, что программы автопилота при вычислении параметров управления по глубоко научным секретным формулам производили деление на значение текущей высоты истребителя над уровнем океана. При подлете к Мёртвому морю высота становилась нулевой, и процессор при делении на ноль давал общий сброс. До этого случая никому не приходило в голову, что самолеты могут летать ниже уровня океана…
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128199
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, приведенные примеры вершина айсберга, весь софт дается AS IS. Чем дальше, тем больше огребаем от этого подхода.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128269
fkfka2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только хотел продемонстрировать автору как легко написать всего лишь что-нибудь типа:

Код: c#
1.
2.
3.
4.
5.
6.
using SevenZip;

using (SevenZipExtractor extractor = new("foo.rar"))
{
    extractor.ExtractArchive("d:\\temp");
}


Как оказалось, что 7zip умеет читать *.rar файлы, но, похоже, не умеет их создавать. Так что обломинго - попробовать не могу.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128270
fkfka2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Была еще известная хрень (лень искать) с пересечением экватора, когда при этом автопилот истребителя тут же переворачивал его вверх ногами :))
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128322
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkfka2
Shocker.Pro,

Была еще известная хрень (лень искать) с пересечением экватора, когда при этом автопилот истребителя тут же переворачивал его вверх ногами :))
это как раз красивая шутка вроде )
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128323
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkfka2
Как оказалось, что 7zip умеет читать *.rar файлы, но, похоже, не умеет их создавать. Так что обломинго - попробовать не могу.
проприетарность, чтоб её
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128325
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
fkfka2
Как оказалось, что 7zip умеет читать *.rar файлы, но, похоже, не умеет их создавать. Так что обломинго - попробовать не могу.
проприетарность, чтоб её

Так ТСу вроде как только распаковка и была нужна.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128355
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как уже выше писал, юзать rar в проде, это феерическая тупость.
zip поддерживается во всех ОС, любой чайник и самовар умеет с ZIP (deflate) работать. нафига RAR юзать, не понятно.
интересно, автор осилил задачу или нет? :)
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128380
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
как уже выше писал, юзать rar в проде, это феерическая тупость.

Ну, бывает, что данные приходят снаружи, и их формат никак не изменить.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128384
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
zip поддерживается во всех ОС, любой чайник и самовар умеет с ZIP (deflate) работать. нафига RAR юзать, не понятно.

RAR на 5-10% лучше сжимает. Может это кому-то показалось важнее.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128411
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Roman Mejtes
zip поддерживается во всех ОС, любой чайник и самовар умеет с ZIP (deflate) работать. нафига RAR юзать, не понятно.

RAR на 5-10% лучше сжимает. Может это кому-то показалось важнее.

Но тот же 7z сжимает примерно на столько же лучше, чем rar.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128419
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны
Но тот же 7z сжимает примерно на столько же лучше, чем rar.
и ещё сжимает на 100% бесплатнее
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128427
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны
Dima T
пропущено...

RAR на 5-10% лучше сжимает. Может это кому-то показалось важнее.

Но тот же 7z сжимает примерно на столько же лучше, чем rar.

Да, но дольше по времени. Лет 15 назад тестили, 7z жутким тормозом оказался, может нынче уже не так.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128462
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на счет того, что 7z хуже жмет, брехня полная.
во первых, 7z поддерживает несколько алгоритмов сжатия, которые лучше подходят для различных задач.
к примеру, для сжатия текстовой информации, наиболее подходит ppmd, я сравнивал его с RAR, последний тихо курит в сторонке.
Но в 99% случаев это нафиг никому не нужно, даже если выигрыш будет пару мегабайт, сегодня это просто не имеет смысла. а вот возможность работать с архивом под любой архитектурой как по мне куда важнее.
RAR был удобен, в DOS, так как имел свой собственный Shell, вот тогда это было модно молодежно
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128643
fkfka2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сон Веры Павловны
Shocker.Pro
пропущено...
проприетарность, чтоб её

Так ТСу вроде как только распаковка и была нужна.

Я просто не могу попробовать распаковку, потому что не могу создать архив.
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128645
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkfka2
Сон Веры Павловны
пропущено...

Так ТСу вроде как только распаковка и была нужна.

Я просто не могу попробовать распаковку, потому что не могу создать архив.

Если дело только в соблюдении лицензии, то там триал 40 дней
https://www.win-rar.com/features.html?&L=4 WinRAR – это shareware-продукт, что означает, что у Вас есть возможность досконально ознакомиться с продуктом перед его покупкой. Вы можете пользоваться программой в течение 40 дней абсолютно бесплатно!
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128647
fkfka2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T
fkfka2
пропущено...

Я просто не могу попробовать распаковку, потому что не могу создать архив.

Если дело только в соблюдении лицензии, то там триал 40 дней
https://www.win-rar.com/features.html?&L=4 WinRAR – это shareware-продукт, что означает, что у Вас есть возможность досконально ознакомиться с продуктом перед его покупкой. Вы можете пользоваться программой в течение 40 дней абсолютно бесплатно!

Мне что ради ТС устанавливать WinRAR?
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128648
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkfka2
Dima T
пропущено...

Если дело только в соблюдении лицензии, то там триал 40 дней
пропущено...

Мне что ради ТС устанавливать WinRAR?

Можно не устанавливать. Дистрибутив RAR`а это архив, можно просто скачать, распаковать и пользоваться. Там всего один файл нужен - RAR.EXE
...
Рейтинг: 0 / 0
Распаковка архивов на C#
    #40128651
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
на счет того, что 7z хуже жмет, брехня полная.
во первых, 7z поддерживает несколько алгоритмов сжатия, которые лучше подходят для различных задач.
к примеру, для сжатия текстовой информации, наиболее подходит ppmd, я сравнивал его с RAR, последний тихо курит в сторонке.
Но в 99% случаев это нафиг никому не нужно, даже если выигрыш будет пару мегабайт, сегодня это просто не имеет смысла. а вот возможность работать с архивом под любой архитектурой как по мне куда важнее.
RAR был удобен, в DOS, так как имел свой собственный Shell, вот тогда это было модно молодежно


100%! rar + winrar - устаревшая фигня
...
Рейтинг: 0 / 0
64 сообщений из 64, показаны все 3 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Распаковка архивов на C#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]