2013-06-26 17:24:22 +0000 2013-06-26 17:24:22 +0000
309
309

Come si eseguono più comandi su una linea in PowerShell?

In un prompt cmd, è possibile eseguire due comandi su una linea come così:

ipconfig /release & ipconfig /renew

Quando eseguo questo comando in PowerShell, ottengo:

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


PowerShell ha un operatore che mi permette di produrre rapidamente l'equivalente di `&` in un prompt cmd? 


Qualsiasi metodo per eseguire due comandi in una linea andrà bene. So di poter realizzare uno script, ma sto cercando qualcosa di più immediato.

Risposte (2)

438
438
438
2013-06-26 17:28:12 +0000

Utilizzare un punto e virgola per concatenare i comandi in PowerShell:

ipconfig /release; ipconfig /renew
32
32
32
2013-09-10 17:16:28 +0000

Un punto e virgola collegherà i comandi come indicato nella risposta precedente , anche se c'è una differenza fondamentale nel comportamento con l'operatore & nell'interprete di comandi in stile MS-DOS.

Nell'interprete di comandi, la sostituzione della variabile avviene quando la riga viene letta. Ciò consente alcune possibilità di ordine, come lo scambio di variabili senza un interim:

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

risulterebbe:

$b, $a = $a, $b

Per quanto ne so, non c'è modo di replicare questo comportamento in PowerShell. Alcuni potrebbero sostenere che è una buona cosa.

C'è infatti un modo per farlo in PowerShell:

&001

.