Dans une invite de commande, vous pouvez exécuter deux commandes sur une ligne, comme suit:
ipconfig /release & ipconfig /renew
Lorsque j'exécute cette commande dans PowerShell, je reçois:
Ampersand not allowed. The `&` operator is reserved for future use
PowerShell a-t-il un opérateur qui me permet de produire rapidement l'équivalent de &
dans une invite de commande?
N'importe quelle méthode consistant à exécuter deux commandes sur une ligne fera l'affaire. Je sais que je peux faire un script, mais je cherche quelque chose d'un peu plus spontané.
Réponses:
Utilisez un point-virgule pour chaîner les commandes dans PowerShell:
la source
Un point-virgule va lier les commandes comme indiqué dans la réponse précédente , bien que le comportement avec l'
&
opérateur dans l'interpréteur de style MS-DOS présente une différence essentielle .Dans l'interpréteur de commandes, la substitution de variable a lieu lors de la lecture de la ligne. Cela offre des possibilités intéressantes, telles que l’échange de variables sans intermédiaire:
Aboutirait à:
Autant que je sache, il n’ya aucun moyen de reproduire ce comportement dans PowerShell. Certains diront que c'est une bonne chose.
Il existe en fait un moyen de faire cela dans PowerShell:
Il en résultera un échange d'une seule ligne des valeurs de variable.
la source