Argument de la ligne de commande de Powershell avec des espaces et des crochets bouclés?
je fais une tentative à mon premier script powershell et j'obtiens une erreur de paramètre lors de l'exécution du code suivant. Comment puis-je transmettre l'argument à la commande dans powersehll?
& "bcdedit" /store c:bootbcd /set {bootmgr} device partition=C:
EDIT: Le code de travail est le suivant:
& "bcdedit" /store c:bootbcd /set "{bootmgr}" device partition=C:
2 réponses
les crochets bouclés ont tout jeté. Mettre des guillemets autour de {bootmgr}
a résolu le problème.
& "bcdedit" /store c:\boot\bcd /set "{bootmgr}" device partition=C:
le problème que vous rencontrez est que L'analyseur PowerShell fonctionne différemment de l'analyseur cmd.exe
. Un moyen de contourner cela est de passer votre commande pour cmd.exe
et laissez faire l'analyse.
pour ce faire, passez la commande à cmd.exe
en utilisant l'option /c
comme une chaîne de caractères à simple guillemet.
cmd.exe /c 'bcdedit /store c:\boot\bcd /set {bootmgr} device partition=C:'
cette méthode est particulièrement utile lorsque la commande que vous utilisez requiert des arguments cités par une chaîne de caractères.