[Из песочницы] Получаем информацию о программе и загружаем ее через CMD (man и apt-get для Windows?)

imageВ данной статье речь пойдет об очень простом и удобном способе для получения данных (информации) о программным обеспечении и загрузки/установки через CMD. Для реализации было использовано открытый API Xetcom.Export и Wget1. К сожалению, API толком не документирован, но, с другой стороны, достаточно простой — можно понять суть после нескольких тестовых запросов. Сама сборка состоит из трех не зависящих друг от друга .BAT файлов и пакета Wget. Вооружитесь правами администратора и вперед.

Для начало советую немного поиграть с настройками интерпретатора, а если по конкретнее — настроить вид окна (Свойства > Расположение). Ширину и высоту размера буфера обмена часто путают с размером окна. Если вкратце, то это фактический максимальный размер прокрутки. Если текст не совмещается в ней, то автоматический переносится на следующую строку. Именно по этой причине кнопка Maximize в командной строке «не работает». Оптимальные параметры на мой взгляд — 150×300. Высота 300 означает 300 строк, после которого ранее записи исчезают. О настройках более-менее описано тут. А еще, в качестве альтернативы советую попробовать Console.imageШрифт Lucida Console вместо точечных.

Состав SFX архива:

Все файлы архива распаковываются в папке %windir%. Это позволяет вызывать их напрямую — без указания пути и без регистрации пути в реестре. Последний вариант позволяет запускать программу независимо от расположения, но нужно о ее местонахождения сообщить реестру (ветка SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths). Точно так же работают системные утилиты calc, mspaint, ping и т. д. Здесь подробно описано.А теперь обо всём по-порядку.

man.bat

@ECHO OFF CHCP 1251 %1 %2 CLS SET title=%1 SET param=%2

IF »%title%» == » ( ECHO Значение не указано EXIT /B )

IF »%param%» == » GOTO none IF »%param%» == »-c» GOTO c IF »%param%» == »-m» GOTO m IF »%param%» == »-l» GOTO l IF »%param%» == »-f» GOTO f GOTO error

: none wget --quiet «http://api.xetcom.com/export/index.php? format=dos&title=%1&description=1&info=1&features=1» -O »%title%.txt» TYPE »%title%.txt» DEL »%title%.txt» EXIT /B

: c wget --quiet «http://api.xetcom.com/export/index.php? format=dos&title=%1&description=1&info=1&features=1&requirements=1» -O »%title%.txt» TYPE »%title%.txt» DEL »%title%.txt» EXIT /B

: m wget --quiet «http://api.xetcom.com/export/index.php? format=dos&title=%1&description=1&info=1&features=1&requirements=1&xetindex=1» -O »%title%.txt» TYPE »%title%.txt» DEL »%title%.txt» EXIT /B

: l wget --quiet «http://api.xetcom.com/export/index.php? format=dos&title=%1&description=1&info=1&features=1&requirements=1&xetindex=1&fileinfo=1» -O »%title%.txt» TYPE »%title%.txt» DEL »%title%.txt» EXIT /B

: f wget --quiet «http://api.xetcom.com/export/index.php? format=dos&title=%1&description=1&info=1&features=1&requirements=1&xetindex=1&fileinfo=1&competitors=tranformed» -O »%title%.txt» TYPE »%title%.txt» DEL »%title%.txt» EXIT /B

: error ECHO Указан неправильный параметр Демонстрация / вывод информации aimpimageКак вы заметили, у этого батника имеются параметры -c, -m, -l, -f (compact, medium, long, full соответственно). Если ввести команду без параметра, то вводится минимальная информация (описание программы + карточка + особенности). Каждый последующий параметр добавляет больше информации. Для наглядности см. примеры.

Примеры

Краткая информация Google Chrome man google-chrome Описание: Google Chrome — наиболее быстро развивающийся браузер, во многом, благодаря открытому исходному коду Chromium, благодаря которому оперативно выпускает новые версии и при этом, быстро ликвидирует все имеющиеся уязвимости. Обозреватель имеет простой минималистичный дизайн, что облегчает интернет-серфинг, так как ничто не отвлекает пользователя от содержимого веб-страницы. Вкладки браузера являются изолированными, что одновременно с повышением надёжности работы браузера, делает посещение сайтов более безопасным. Chrome имеет встроенный движок JavaScript, значительно ускоряющий обработку скриптов и увеличивающий скорость работы в Интернете.Разработчик: GoogleПоддерживаемые форматы: HTML, HTM, SHTML, XHTML, TXT, TEXT, JPE, JPG, JPEG, GIF, MHTML, PNG, BMP, ICO, SVG, SVGZ, XML, PDF, SWFОф. сайт: google.comПлатный аналог: e-Capsule BrowserРусский язык: ИмеетсяСтатус: FreewareИсходники: Закрыты

Особенности: — Единственное окно для решения большинства задач.— Ярлыки приложений и динамические вкладки.— Возможность безопасного просмотра сомнительных сайтов, а также наличие режима «инкогнито».— Лёгкий процесс создания закладок, а также возможность их импорта из других браузеров.— Высокая скорость работы и надёжность.— Полностью автоматический процесс обновления.

Полная информация Google Chrome man google-chrome -f Описание: Google Chrome — наиболее быстро развивающийся браузер, во многом, благодаря открытому исходному коду Chromium, благодаря которому оперативно выпускает новые версии и при этом, быстро ликвидирует все имеющиеся уязвимости. Обозреватель имеет простой минималистичный дизайн, что облегчает интернет-серфинг, так как ничто не отвлекает пользователя от содержимого веб-страницы. Вкладки браузера являются изолированными, что одновременно с повышением надёжности работы браузера, делает посещение сайтов более безопасным. Chrome имеет встроенный движок JavaScript, значительно ускоряющий обработку скриптов и увеличивающий скорость работы в Интернете.Разработчик: GoogleПоддерживаемые форматы: HTML, HTM, SHTML, XHTML, TXT, TEXT, JPE, JPG, JPEG, GIF, MHTML, PNG, BMP, ICO, SVG, SVGZ, XML, PDF, SWFОф. сайт: google.comПлатный аналог: e-Capsule BrowserРусский язык: ИмеетсяСтатус: FreewareИсходники: Закрыты

Особенности: — Единственное окно для решения большинства задач.— Ярлыки приложений и динамические вкладки.— Возможность безопасного просмотра сомнительных сайтов, а также наличие режима «инкогнито».— Лёгкий процесс создания закладок, а также возможность их импорта из других браузеров.— Высокая скорость работы и надёжность.— Полностью автоматический процесс обновления.

Системные требование: Процессор: 2200 MHzОЗУ: 512 МбЖесткий диск: 100 МбАудиокарта: Любая совместимая аудиокартаВидеокарта: 64 МбАрхитектура: x86 или x64Система: Windows XP, Windows Vista, Windows 7, Windows 8

Индекс полезности: Скорость: 100Практичность: 100Надежность: 100Функциональность: 100

Информация о файле: Тихая установка: /installВарианты дистрибутива: Только установочнаяИнсталлятор: Без тулбаровСертификат: Имеется

Конкуренты:360-browsersafariavant-browserbaidu-sparkblackhawk-browserbrowzarchrome-hybridchromiumcometbird-browsercomodo-dragoncomodo-icedragoncoolnovocoowoncyberfoxdoobleepic-browserfirefoxfirefox-hybridgreenbrowserinternet-explorerk-meleonlunascape-browsermaxthon-browseroperaopera-hybridopera-unofficialorbitumorca-browserpale-moonqip-surfqupzillaseamonkeysleipnirslimbrowserslimjetsrware-ironsuperbirdtheworld-browsertor-browser-bundletorch-browserwaterfoxwyzoyandex-browser

get.bat @echo off chcp 1251 %1 %2 cls set title=%1 set param=%2

IF »%param%» == «x64» GOTO x64

: x86 cd »%TMP%» wget --quiet «http://api.xetcom.com/export/index.php? title=%title%&link=x86&format=dos» -O »%title%-x86.txt» wget -i »%title%-x86.txt» -P %USERPROFILE%\Desktop del »%title%-x86.txt» Exit /B

: x64 cd »%TMP%» wget --quiet «http://api.xetcom.com/export/index.php? title=%title%&link=x64&format=dos» -O »%title%-x64.txt» wget -i »%title%-x64.txt» -P %USERPROFILE%\Desktop del »%title%-x64.txt» Exit /B Принцип работы данного файла думаю, будет излишне описывать.Демонстрация / загрузка aimpimage

Загруженный файл сохраняется на рабочем столе (проверено на Windows 7/8). Не смог найти переменную рабочего стола XP. Хотя здесь есть изощренное решение, но оно тоже почему-то не работает. Проблема в том, что в зависимости от языка путь меняется. Например в русской версии %HOMEPATH%\Рабочий стол, в английской %HOMEPATH%\Desktop и т. д. Чтобы не спамить batch файл многострочными IF-ами, решил отказаться от этой затеи. Пользователям XP придется немного поправить команды. %HOMEPATH% или папка пользователя, оттуда всего один шаг к рабочему столу. Замените %USERPROFILE%\Desktop на %HOMEPATH%\change_me и готово.

Автоматизированная поэтапная загрузка через другой bat файл:

cmd /c get 7-zip cmd /c get opera cmd /c get firefox Установка «самоустанавливаемых» программЭтот трюк требует еще один запрос к API — для получения ключа тихой установки (Unattended/Silent installation switch). Еще стоит обратить внимание, что не все программы поддерживают «тихий режим» установки или вообще изначально портативные (таких тоже очень много). В этом случае после загрузки скрипт просто запустит файл и будет ждать ваших действии.install.bat

@echo off chcp 1251 %1 %2 cls set title=%1 set param=%2

IF »%param%» == «x64» GOTO x64

: x86

:: Получение данных cd »%TMP%» wget --quiet «http://api.xetcom.com/export/index.php? title=%title%&link=x86&format=dos» -O »%title%-x86.txt» wget -i »%title%-x86.txt» -P %TMP% wget --quiet «http://api.xetcom.com/export/index.php? title=%title%&format=dos&silent_install=1» -O »%title%-x86-silent.txt»

:: Получение названии и расширении файла set /p x86=<"%title%-x86.txt" for /F %%i in ("%x86%") do set x86=%%~nxi

:: Запуск инсталлятора set /p silent=<"%title%-x86-silent.txt" cmd /c "%TMP%\%x86% %silent%"

:: Удаление оставшихся файлов del »%TMP%\%x86%» del »%title%-x86.txt» del »%title%-x86-silent.txt» Exit /B

: x64

:: Получение данных cd »%TMP%» wget --quiet «http://api.xetcom.com/export/index.php? title=%title%&link=x64&format=dos» -O »%title%-x64.txt» wget -i »%title%-x64.txt» -P %TMP% wget --quiet «http://api.xetcom.com/export/index.php? title=%title%&format=dos&silent_install=1» -O »%title%-x64-silent.txt»

:: Получение названии и расширении файла set /p x64=<"%title%-x64.txt" for /F %%i in ("%x64%") do set x64=%%~nxi

:: Запуск инсталлятора set /p silent=<"%title%-x64-silent.txt" cmd /c "%TMP%\%x64% %silent%"

:: Удаление оставшихся файлов del »%TMP%\%x86%» del »%title%-x64.txt» del »%title%-x64-silent.txt» Exit /B Демонстрация / автоматическая установка burnawareimageНемножко автоматизации или пакетная установка, или Windows WPI размером 1 кб

::==========================:: ::=========settings=========:: ::==========================::

:: Браузеры cmd /c install firefox cmd /c install google-chrome

:: Архиваторы cmd /c install 7-zip

:: Аудио cmd /c install foobar200

:: Конвертеры cmd /c install format-factory

:: Видео cmd /c install k-lite-codec-pack cmd /c install audacity

:: Графика cmd /c install faststone-image-viewer cmd /c install picpick

:: Система cmd /c install ultradefrag cmd /c install hashtab

:: Нужные вещи cmd /c install adobe-flash-player cmd /c install microsoft-silverlight cmd /c install java x64 cmd /c install unlocker

:: Офис cmd /c install notepad-plus-plus cmd /c install libreoffice SFX архив

© Habrahabr.ru