четверг, 18 августа 2011 г.

Функция PowerShell для разбора аргументов командной строки

### Функция разбора параметров командной строки
### На входе $arguments - массив параметров командной строки
### На выходе коллекция - "Команда","Аргумент команды"
### Формат параметров командной строки /Command='Parameter'
##############################################################

function parse_params($arguments) {
$out=@{}
foreach ($arg in $arguments) {
[string] $str_to_parse=$arg
$splited_str=$str_to_parse.Split('=')
if ($splited_str.Length -gt 2) {
Write-Host "В параметре команды присутствует знак '='! Значение параметра после этого знака будет отброшено!"
}
else {
#Если указан признак команды '/' - обрабатывать
if ($splited_str[0].Contains('/') -eq $TRUE) {
if ($splited_str.Length -eq 1) {
$out.add($splited_str[0],'') #Если команда указана без параметра
}
else {
$out.add($splited_str[0],$splited_str[1])
}
}
}
}
return $out
}

Комментариев нет:

Отправка комментария