Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Как в .bat файле сделать вывод результата выполнения в переменную?? (http://forum.oszone.net/showthread.php?t=279088)

Eugene Shugaev 11-03-2014 21:58 2322269

Как в .bat файле сделать вывод результата выполнения в переменную??
 
Пишу дополнение к 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 2322553

В принципе, общее решение следующее:

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


Время: 22:44.

Время: 22:44.
© OSzone.net 2001-