26

Re: CMD/BAT: Хранение файлов внутри bat-файла и их выгрузка

Rumata пишет:

Есть интересное ответвление или дальнейшее развитие этой идеи: забыть о существующем ограничении (оно не требуется в начале, но о нем можно подумать позже) и создать эмулятор tar-файлов.

Лет пять назад я бы вас поддержал, т.к. была идея "запилить" что-то подобное dpkg или же pacman для windows (идея иссякла в пользу WSUS и GPO).
Если забыть о существующем ограничении, то, как я понял, вас интересует аналог sh с tar внутри?
Если же просто self-extracted cab, то обычно используют extrac32.exe, он не сильно большой (~60 kB), хотя и его можно дотянуть до уровня аналога tar/rpm/deb.
Хотя... Попробую сам применить на работе - ребятам и девчатам (разного уровня владения ПК и инструментами ОС) требуется делать шары на ПК клиентов (естественно, с их позволения) с опр. правами, добавлять задачу планировщика и т.п. Можно завернуть в CMD/WSH/powershell (или даже - с проверкой установленных интерпретаторов и ОС), который положить в self-extracted cab.

Himmler пишет:

Товарищи, в очередной раз убеждаюсь, что всё уже было придумано до нас.

Cab dropper? Ну да, много интересного гуглится.

27 (изменено: Rumata, 2018-03-12 00:29:49)

Re: CMD/BAT: Хранение файлов внутри bat-файла и их выгрузка

UNDYING пишет:

аналог sh с tar внутри

Да, нечто подобное. Но мне лень и нет времени разбираться с вычислением размеров файлов, смещением от начала, таблицей размещения файлов и т.д. Интерес носит скорее академический характер - это можно сделать и на батниках (с примесью vbscript/jscript).

+ особое мнение

Предпочитаю использовать доступные средства и минимум утилит и программ извне. Но на своих машинах использую cygwin (он у меня очень давно гуляет от машины к машине - достаточно старенький, но при этом покрывает максимум моих потребностей). Ну и ФАР - с чужими и собственными макросами. Есть доступ к машинам, где даже cmd.exe нельзя запустить (только Проводник и несколько утилит для удаленного доступа) - и проблем тоже нет.

( 2 * b ) || ! ( 2 * b )

28

Re: CMD/BAT: Хранение файлов внутри bat-файла и их выгрузка

Rumata пишет:

Но мне лень и нет времени разбираться с вычислением размеров файлов<...>.

Про лень - солидарен, если пытаться сделать по образу makeself (тот самый sh+tar), то, думаю, лучше пойти по наиболее простому пути cab dropper'а (или одному из решений выше).

Rumata пишет:

Интерес носит скорее академический характер

И да, есть сразу минус, для своей сети/ПК вполне подойдёт, а в/на чужих возможны срабатывания антивирусов (замечено, что многие из них ныне работают очень туповато), т.к. такой техникой пользуются не только демокодеры, даже скорее - демокодеры уже давно не пользуются, в отличии от создателей malware.
Попробую что-нибудь придумать для себя, если результат будет мало-мальски напоминать makeself (unpack средствами ОС, packer можно и сторонний/самописный), то отпишусь здесь.

+ по особому мнению

Нахожусь в схожей ситуации (вместо Cygwin - MSYS2, но разница - невелика, tmux, mutt, mc и w3m запустятся и там и там), целиком, правда не таскаю, достаточно dotfiles забэкапить.
Думаю мигрировать рабочее место в один из дистров Linux или FreeBSD, т.к. Powershell там есть и его, для моих задач, должно хватить. Но тут больше сказывается моя привычка к тайловым wm и tmux (первых под windows 7 нет, во всяком случае - "вменяемых").

29

Re: CMD/BAT: Хранение файлов внутри bat-файла и их выгрузка

Есть вариант ~55 байт одной строкой, чистый batch. Хранить файл в base64, там же или в сети. Всё только средствами системы и очень быстро.