%20antes%20de%20los%20comandos%20en%20PowerShell%3F.png)
Estaba probando un comando escribiendo la ruta y cuando presioné TAB, sucedió esto:
C:\> C:\Program Files\KeePassXC\keepass<TAB>
# became this:
C:\> & 'C:\Program Files\KeePassXC\keepassxc-cli.exe'
¿Simplemente evalúa una cadena? Al menos, lo supongo, ya que la ruta debe estar entre comillas debido a los espacios que contiene, y sin ellos &
aparece el siguiente error:
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
¿Se vincularía a la documentación? ¡Gracias!
Los hilos que discuten &
(1,2) tratan sobre algo completamente distinto (o no encontré una conexión).
Respuesta1
Ese es un operador de llamada o invocación.Llame al operador y:
Puede utilizar el operador de llamada para ejecutar scripts utilizando sus nombres de archivo. El siguiente ejemplo muestra un nombre de archivo de script que contiene espacios. Cuando intenta ejecutar el script, PowerShell muestra el contenido de la cadena entre comillas que contiene el nombre del archivo. El operador de llamada le permite ejecutar el contenido de la cadena que contiene el nombre del archivo.
PS C:\Scripts> ".\script name with spaces.ps1" .\script name with spaces.ps1 PS C:\Scripts> & ".\script name with spaces.ps1" Hello World!