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

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

ipconfig /release & ipconfig /renew

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

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

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

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

15
задан Peter Mortensen
11.04.2023 3:42 Количество просмотров материала 2855
Распечатать страницу

2 ответа

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

ipconfig /release; ipconfig /renew
295
отвечен Squeezy 2023-04-12 11:30

точка с запятой будет связывать команды, как предыдущий ответ заявил, хотя есть ключевое различие в поведении с & оператор в интерпретаторе команд стиля 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 2023-04-12 13:47

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх