вторник, 28 апреля 2015 г.

[успешно] "SET /A" в составе цикла "FOR"

Задача:
В батнике, в составе цикла FOR команда "SET /A ..." с последующим выводом результата (внутри того же цикла "FOR") почему-то не обрабатывается.

Решение:
Для вывода результата нужно обращаться к переменной через восклицательный знак "!" (см. строку с "echo") и обязательно в режиме "ENABLEDELAYEDEXPANSION":
BAT-вариант:
SETLOCAL ENABLEDELAYEDEXPANSION
SET myCount=0
FOR /F "tokens=*" %%i in (my_list_file.txt) DO (
SET /A myCount+=1
ECHO !myCount!
)

пятница, 17 апреля 2015 г.

Список портов (Windows, Linux)

Windows:
netstat -anb

Linux:
netstat -anp

Управление виртуальной машиной VirtualBox в консоли

Просмотр списка зарегистрированных виртуальных машин:
vboxmanage list vms
Запуск без окна (в фоне):
vboxheadless -s <VM_name>
Закрыть, сохранив состояние:
vboxmanage controlvm <VM_name> savestate
Закрыть, принудительно отключив питание:
vboxmanage controlvm <VM_name> poweroff
Закрыть, симулировав однократное нажатие на кнопку питания (дальше уже зависит от настроек ОС: либо "спросить о действии", либо "завершить работы", либо "ничего не делать"):
vboxmanage controlvm <VM_name> acpipowerbutton

Архив