Come eseguire un file exe in PowerShell

Il sistema operativo Windows supporta diversi strumenti da riga di comando che possono essere molto utili nell’automazione.
curl
è uno di questi strumenti utili che può essere utilizzato per effettuare richieste da o verso un server tramite uno qualsiasi dei protocolli supportati come HTTP, HTTPS, FTP, FTPS, SMTP, ecc…
Questo strumento da riga di comando supporta funzionalità aggiuntive come l’upload FTP, il supporto per i proxy, la ripresa del trasferimento e la larghezza di banda limitata.
A partire dalla build ufficiale di Windows 1804, curl
è stato aggiunto al suo tool-chain. Puoi verificarlo aprendo il prompt dei comandi di Windows e eseguendo il seguente comando.
curl --version
Output:
curl 7.55.1 (windows)
L’output potrebbe cambiare in base alla tua installazione di curl.
il curl
in Windows PowerShell
In Windows PowerShell, devi utilizzare il comando curl
leggermente diverso rispetto al prompt dei comandi di Windows. Perché il comando curl
è mappato come un alias al cmdlet Invoke-WebRequest
. Puoi verificare ciò eseguendo il seguente comando in una finestra di PowerShell.
Get-Alias -Name curl
Output:
CommandType Name Version Source
----------- ---- ------- ------
Alias curl -> Invoke-WebRequest
Tutti questi comandi verranno risolti nel processo di esecuzione del comando PowerShell. Di solito, gli alias hanno la massima priorità. Pertanto, dovresti utilizzare direttamente l’eseguibile curl.exe
in PowerShell invece di curl
. Puoi utilizzare il cmdlet Get-Command
per vedere come questi due comandi si risolvono durante il runtime.
Get-Command curl
Output:
CommandType Name Version Source
----------- ---- ------- ------
Alias curl -> Invoke-WebRequest
Get-Command curl.exe
Output:
CommandType Name Version Source
----------- ---- ------- ------
Application curl.exe 7.55.1.0 C:\Windows\system32\curl.exe
La conclusione è che se hai bisogno di utilizzare curl
(come nel prompt dei comandi di Windows) in PowerShell, allora devi chiamare direttamente l’eseguibile curl(curl.exe
). Altrimenti, dovresti attenerti all’alias curl
di PowerShell, che si risolve nel cmdlet Invoke-WebRequest
sottostante.
la sintassi di curl
in PowerShell
curl.exe [options] <url>
Puoi eseguire il seguente comando per ottenere maggiori informazioni sul comando curl
e le sue opzioni come -a
, -C
, ecc.
curl.exe --help
Output:
Usage: curl [options...] <url>
-a, --append Append to target file when uploading
.
.
.
-C, --continue-at <offset> Resumed transfer offest
Scenari Esempio
Visualizza la pagina web HTML restituita come risposta.
curl.exe https://www.google.com
Visualizza la risposta, l’intestazione della richiesta e l’intestazione della risposta.
curl.exe -v https://www.google.com
Visualizza le informazioni sull’intestazione.
curl.exe -I https://www.google.com
Salva le informazioni sull’intestazione in un file chiamato 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.