PDA

Показать полную графическую версию : Как в .bat файле сделать вывод результата выполнения в переменную??


Eugene Shugaev
11-03-2014, 21:58
Пишу дополнение к Virtual box в .bat файле, и задача сложная - допусти есть набор функций которые программа делает:
echo ==============================================================
echo - Запустить VirtualBox.exe : 1
echo - Запустить diskpart.exe : 2
echo - Создать USB-connector.vmdk : 3
echo - Бекап настроек : 4
echo - Восстановить настройки из бекапа : 5
echo - Удалить настройки : 6
echo - Удалить бекап настроек : 7
echo - Открыть userprofile : 8
echo - Вывод справки о командах : ?
echo ==============================================================
+ то что в help (если надо скину содержание help-а)
ТАк вот модуль 3;5;6 требую для работы права администратора, а остальные нет. Ну я прикрутил табличку типа:

:admin
@echo Good start %time% -- %date% >> %windir%\system32\boot_usb_log.txt&& goto :home
echo *************ТРЕБУЮТСЯ ПРАВА АДМИНИСТРАТОРА*******************
goto :admin-

Но мне надо что бы если программа запущенна без прав администратора то пункты 3;5;6 вместо выполнения ошибки выводили эту табличку.
А если есть права то не выводили табличку с правами. А выполняли модули как надо.

Я подумал что вывести результат выполнения :admin в переменную и выводить её значение в строку отчёта выполнения команды исходя из результата работы модуля при первом запуске.
Как реализовать???

kostia_a
12-03-2014, 13:39
В принципе, общее решение следующее:

program.exe arg0 arg1 > temp.txt
set /p VAR=<temp.txt




© OSzone.net 2001-2012