Come eseguire un file exe in PowerShell

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
Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

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.