%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0%D0%BC%D0%B8%20%D0%B2%20PowerShell%3F.png)
Я пытался выполнить команду, введя путь к ней, и когда я нажал TAB, произошло следующее:
C:\> C:\Program Files\KeePassXC\keepass<TAB>
# became this:
C:\> & 'C:\Program Files\KeePassXC\keepassxc-cli.exe'
Он просто оценивает строку? По крайней мере, я так предполагаю, поскольку путь должен быть заключен в кавычки из-за пробелов в нем, а без них &
я получаю следующую ошибку:
C:\> 'C:\Program Files\KeePassXC\keepassxc-cli.exe' --help
At line:1 char:50
+ 'C:\Program Files\KeePassXC\keepassxc-cli.exe' --help
+ ~~~~
Unexpected token 'help' in expression or statement.
At line:1 char:1
+ 'C:\Program Files\KeePassXC\keepassxc-cli.exe' --help
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The '--' operator works only on variables or on properties.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
Не могли бы вы дать ссылку на документацию? Спасибо!
Темы обсуждения &
(1,2) совсем о другом (или я не нашел связи).
решение1
Это оператор вызова или вызова.Позвоните оператору и:
Вы можете использовать оператор вызова для выполнения скриптов, используя их имена файлов. В примере ниже показано имя файла скрипта, которое содержит пробелы. При попытке выполнить скрипт PowerShell вместо этого отображает содержимое строки в кавычках, содержащей имя файла. Оператор вызова позволяет выполнить содержимое строки, содержащей имя файла.
PS C:\Scripts> ".\script name with spaces.ps1" .\script name with spaces.ps1 PS C:\Scripts> & ".\script name with spaces.ps1" Hello World!