Как запустить несколько команд в одной строке PowerShell?

в командной строке можно выполнить две команды в одной строке следующим образом:

ipconfig /release & ipconfig /renew

когда я запускаю эту команду в PowerShell, я получаю:

Ampersand not allowed. The `&` operator is reserved for future use

есть ли PowerShell оператор, который позволяет мне быстро производить эквивалент & в командной строке?

любой метод запуска двух команд в одной строке. Я знаю, что могу сделать сценарий, но я ищу что-то более необычное.

206
задан Peter Mortensen 2013-06-26 21:24:22
источник

2 ответов

используйте точку с запятой для цепочки команд в PowerShell:

ipconfig /release; ipconfig /renew
295
отвечен Squeezy 2018-08-22 16:32:15
источник

точка с запятой будет связывать команды, как предыдущий ответ заявил, хотя есть ключевое различие в поведении с & оператор в интерпретаторе команд стиля MS-DOS.

в интерпретаторе команд подстановка переменных происходит при чтении строки. Это позволяет некоторые аккуратные возможности, такие как замена переменных без промежуточного:

set a=1
set b=2
set a=%b% & set b=%a%
echo %a%
echo %b%

в результате:

2
1

насколько я знаю, нет никакого способа, чтобы повторить это поведение в PowerShell. Некоторые могут возразить, что это хорошо.

есть на самом деле способ сделать это в PowerShell:

$b, $a = $a, $b

это приведет к одной строке подкачки значений переменных.

28
отвечен Dave_J 2018-08-22 16:34:28
источник

Другие вопросы windows command-line powershell

X