В данной статье речь пойдет об очень простом и удобном способе для получения данных (информации) о программным обеспечении и загрузки/установки через CMD. Для реализации было использовано открытый API Xetcom.Export и Wget1. К сожалению, API толком не документирован, но, с другой стороны, достаточно простой — можно понять суть после нескольких тестовых запросов. Сама сборка состоит из трех не зависящих друг от друга .BAT файлов и пакета Wget. Вооружитесь правами администратора и вперед.
Start
Для начало советую немного поиграть с настройками интерпретатора, а если по конкретнее — настроить вид окна (Свойства > Расположение). Ширину и высоту размера буфера обмена часто путают с размером окна. Если вкратце, то это фактический максимальный размер прокрутки. Если текст не совмещается в ней, то автоматический переносится на следующую строку. Именно по этой причине кнопка Maximize в командной строке «не работает». Оптимальные параметры на мой взгляд — 150x300. Высота 300 означает 300 строк, после которого ранее записи исчезают. О настройках более-менее описано тут. А еще, в качестве альтернативы советую попробовать Console.
Шрифт Lucida Console вместо точечных.
Состав SFX архива:
- man.bat
- get.bat
- install.bat
- wget.exe
- wget.ini
Все файлы архива распаковываются в папке %windir%. Это позволяет вызывать их напрямую — без указания пути и без регистрации пути в реестре. Последний вариант позволяет запускать программу независимо от расположения, но нужно о ее местонахождения сообщить реестру (ветка SOFTWAREMicrosoftWindowsCurrentVersionApp Paths). Точно так же работают системные утилиты calc, mspaint, ping и т. д. Здесь подробно описано.
А теперь обо всём по-порядку.
@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 Указан неправильный параметр
Демонстрация / вывод информации aimp
Как вы заметили, у этого батника имеются параметры -c, -m, -l, -f (compact, medium, long, full соответственно). Если ввести команду без параметра, то вводится минимальная информация (описание программы + карточка + особенности). Каждый последующий параметр добавляет больше информации. Для наглядности см. примеры.
Примеры
Краткая информация Google Chrome
Разработчик: 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
Разработчик: 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-browser
safari
avant-browser
baidu-spark
blackhawk-browser
browzar
chrome-hybrid
chromium
cometbird-browser
comodo-dragon
comodo-icedragon
coolnovo
coowon
cyberfox
dooble
epic-browser
firefox
firefox-hybrid
greenbrowser
internet-explorer
k-meleon
lunascape-browser
maxthon-browser
opera
opera-hybrid
opera-unofficial
orbitum
orca-browser
pale-moon
qip-surf
qupzilla
seamonkey
sleipnir
slimbrowser
slimjet
srware-iron
superbird
theworld-browser
tor-browser-bundle
torch-browser
waterfox
wyzo
yandex-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
Принцип работы данного файла думаю, будет излишне описывать.
Демонстрация / загрузка aimp
Загруженный файл сохраняется на рабочем столе (проверено на 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). Еще стоит обратить внимание, что не все программы поддерживают «тихий режим» установки или вообще изначально портативные (таких тоже очень много). В этом случае после загрузки скрипт просто запустит файл и будет ждать ваших действии.
@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
Демонстрация / автоматическая установка burnaware
Немножко автоматизации или пакетная установка, или 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
Автор: code200