Аргумент командной строки Powershell с пробелами и фигурными скобками?

Я делаю попытку моего первого скрипта powershell и получаю ошибку неверного параметра при выполнении следующего кода. Как я могу передать аргумент команде в powersehll?

& "bcdedit" /store c:\boot\bcd /set {bootmgr} device partition=C:

РЕДАКТИРОВАТЬ: Рабочий код для этого:

& "bcdedit" /store c:\boot\bcd /set "{bootmgr}" device partition=C:

2 ответа

Решение

Кудрявые скобки скинули все. Размещать цитаты {bootmgr} исправил проблему.

& "bcdedit" /store c:\boot\bcd /set "{bootmgr}" device partition=C:

Проблема, с которой вы сталкиваетесь, заключается в том, что анализатор PowerShell работает не так, как cmd.exe парсер делает. Одним из способов решения этой проблемы является передача вашей команды cmd.exe и пусть это делает разбор.

Для этого передайте команду cmd.exe с использованием /c опция в виде строки в одинарных кавычках.

cmd.exe /c 'bcdedit /store c:\boot\bcd /set {bootmgr} device partition=C:'

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

Другие вопросы по тегам