Cómo ejecutar un archivo exe en PowerShell

El sistema operativo Windows admite varias herramientas de línea de comandos que pueden ser muy útiles en la automatización.
curl
es una de estas herramientas útiles que se puede usar para hacer solicitudes desde o hacia un servidor a través de cualquiera de los protocolos admitidos como HTTP, HTTPS, FTP, FTPS, SMTP, etc…
Esta herramienta de línea de comandos admite funciones adicionales como carga FTP, soporte para proxies, reanudar transferencias y ancho de banda limitado.
A partir de la compilación oficial de Windows 1804, se ha añadido curl
a su cadena de herramientas. Puedes verificar esto abriendo el símbolo del sistema de Windows y ejecutando el siguiente comando.
curl --version
Salida:
curl 7.55.1 (windows)
La salida puede cambiar según tu instalación de curl.
el curl
en Windows PowerShell
En Windows PowerShell, debes usar el comando curl
de manera ligeramente diferente al símbolo del sistema de Windows. Porque el comando curl
está mapeado como un alias al cmdlet Invoke-WebRequest
. Puedes verificar esto ejecutando el siguiente comando en una ventana de PowerShell.
Get-Alias -Name curl
Salida:
CommandType Name Version Source
----------- ---- ------- ------
Alias curl -> Invoke-WebRequest
Todos estos comandos se resolverán en el proceso de ejecución de comandos de PowerShell. Por lo general, los alias tienen la mayor prioridad. Por lo tanto, debes usar directamente el ejecutable curl.exe
en PowerShell en lugar de curl
. Puedes usar el cmdlet Get-Command
para ver cómo se resuelven estos dos comandos en tiempo de ejecución.
Get-Command curl
Salida:
CommandType Name Version Source
----------- ---- ------- ------
Alias curl -> Invoke-WebRequest
Get-Command curl.exe
Salida:
CommandType Name Version Source
----------- ---- ------- ------
Application curl.exe 7.55.1.0 C:\Windows\system32\curl.exe
La conclusión es que si necesitas usar el curl
(igual que en el símbolo del sistema de Windows) en PowerShell, debes llamar directamente al ejecutable curl (curl.exe
). De lo contrario, debes atenerte al alias curl
de PowerShell, que se resuelve en el cmdlet Invoke-WebRequest
en el fondo.
la Sintaxis de curl
en PowerShell
curl.exe [options] <url>
Puedes ejecutar el siguiente comando para obtener más información sobre el comando curl
y sus opciones como -a
, -C
, etc.
curl.exe --help
Salida:
Usage: curl [options...] <url>
-a, --append Append to target file when uploading
.
.
.
-C, --continue-at <offset> Resumed transfer offest
Escenarios de Ejemplo
Mostrar la página web HTML devuelta como respuesta.
curl.exe https://www.google.com
Mostrar la respuesta, el encabezado de la solicitud y el encabezado de la respuesta.
curl.exe -v https://www.google.com
Mostrar la información del encabezado.
curl.exe -I https://www.google.com
Guardar la información del encabezado en un archivo llamado file1.txt
.
curl.exe -I https://www.google.com -o file1.txt
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.