Си диез / Говнокод #27051 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
var src = "c:\src";
var dest = "c:\dest";
var cmp = CompressionLevel.NoCompression;
var zip = source_folder + ".zip";

ZipFile.CreateFromDirectory(src, zip, cmp, includeBaseDirectory: false);
ZipFile.ExtractToDirectory(zip, dest_folder);

File.Delete(zip);

Интересный способ для копирования всех файлов в директории и поддиректориях.

https://stackoverflow.com/questions/58744/copy-the-entire-contents-of-a-directory-in-c-sharp

Запостил: groser groser, (Updated )

Комментарии (28) RSS

  • это чтобы воздух погреть процессором с зипом?
    Ответить
    • Тут CompressionLevel.NoCompression, поэтому зожатия не будет. Энергия будет уходить только на создание заголовка и «центральной директории». Хотя памяти наверное сожрёт много.
      Ответить
      • а зачем? дотнетичики не имеют средств для рекурсивново копирования?
        Ответить
        • Ещё забыл заметить, что тут будет два копирования, потому что промежуточный результат сохраняется во временном зип-файле. Т. е. ещё диском похрустит.
          Ответить
        • Красиво. У Царя глаза вытекут от того, сколько всякого дерьма (вроде путей) будет лежать в стеке.
          Ответить
          • Это какашкин стыд, если честно.
            Это же не сишечка и перл, это блядь совеременная платформа, 2020 на дворе.
            Ответить
  • Зато можно быстро прокачать до передачи мелких файлов между компами. Правда я tar юзаю вместо zip.
    Ответить
        • чочо? а initramfs на чем?
          у меня в слаке на cpio

          и в доке на kernel.org тоже написино
          Ответить
          • Никогда не понимал, почему они выбрали именно cpio. Она же ёбнутая на голову, а на дворе не 80й год стоял.

            З.Ы. RPM вроде ещё на нём. Но там скорее всего исторические причины.
            Ответить
            • Al Viro made the decision (quote: "tar is ugly as hell and not going to be
              supported on the kernel side"):

              http://www.uwsg.iu.edu/hypermail/linux/kernel/0112.2/1540.html

              explained his reasoning:

              http://www.uwsg.iu.edu/hypermail/linux/kernel/0112.2/1550.html
              http://www.uwsg.iu.edu/hypermail/linux/kernel/0112.2/1638.html

              Кстати, у меня initrd используется только для загрузки микрококок, там даже init нету

              >rpm
              угу

              Там в доке написино было, что у tar вязко документированный формат, а у cpio нет
              Ответить
              • > tar is ugly as hell

                Сорта говна, конечно. Но в плане коммандлайна тар поприятней в 20хх году. По формату вроде оба простые.
                Ответить
                • да, тут плюсану

                  кто ``cpio -it <foo`` делал, тот в цирке не смееца
                  Ответить
                  • Ага, а после извлечения из него иногда вываливалась куча z файлов, которые надо было по-отдельности распаковать...
                    Ответить
              • > у tar вязко документированный формат

                Хм, ну в позиксе же описан с 88 года...
                Ответить
                  • На самом деле ядру бы и zip проканал. Для распаковки initframfs совместимость со 100500 операционок не нужна. Да и юникодные имена и терабайтные файлы тоже.
                    Ответить
                    • сложна риализовывать видимо
                      Ответить
                      • эскобар.чпег, имхо. На первый взгляд все 3 формата выглядят одинаково. Ну разве что в zip прыщеатрибуты не сохранить.
                        Ответить
                • У него вроде есть диалекты. Какие-то дополнительные поля могут быть, которые позиксовый тар может игнорировать.

                  Ну как у зип-файлов бывают дополнительные даты, расширенные атрибуты и т. п.
                  Ответить
                  • У cpio тоже аскин вариант и бинарный. Кстати, ядро оба умеет?
                    Ответить
                    • думаю только тестовй, но его можно зажать
                      ядро умеет в bz2, gz, xz, итд

                      зыркай
                      https://cateee.net/lkddb/web-lkddb/BLK_DEV_INITRD.html
                      https://cateee.net/lkddb/web-lkddb/RD_LZ4.html

                      Зацени кстати пидорское название: BLK. Потому что когда-то там была эмуляция блочного устройства в памяти (ramdisk или как-то так), потом поменяли на ramfs, который настоящая файловая система, которая просто никуда не "флашит" свои данные, а название старое осталось
                      Ответить
                  • > диалекты

                    А у cpio типа нет... bin, odc, newc, crc, hpbin, hpodc

                    Ядро умеет только newc.
                    Ответить
                    • какой бугор
                      GNU cpio supports the following archive formats: binary, old ASCII, new ASCII, crc, HPUX binary, HPUX old ASCII, old tar, and POSIX.1 tar.
                      Ответить
    • Исландия такая маленькая, что у них шаред спортивный клуб
      Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8