2015-02-05 2 views
1

Каков правильный способ сделать это в PowerShell?PowerShell - верхний регистр после «тройной» Если заявление

$action = if ($args.Length > 0) { $args[0] } else { Read-Host 'Action' } #.ToUpper() 
echo $action 

Следующая кажется кодом запаха

$action = if ($args.Length > 0) { $args[0] } else { Read-Host 'Action' } 
$action = $action.ToUpper() 
echo $action 
+0

Я не вижу, как первый должен работать. '# .ToUpper()' является комментарием. –

ответ

4

Первый блок кода вам придется практически работать, как написано (вы можете присвоить результат, если/другое заявление).

$action = $(if ($args.Length -gt 0) { $args[0] } else { Read-Host 'Action' }).ToUpper() 

Вам просто нужно использовать (больше) оператора -gt вместо > и обернуть его в скобках.

+0

Вам нужно '' 'перед левой скобкой, так как if-else является выражением, а не выражением. –

+0

Обновлено; хороший catch @mikez. – briantist

Смежные вопросы