L'exécution curl via powershell - comment construire des arguments?

Je suis en train de lancer curl pour télécharger un fichier dans mon script, à l'aide de lot a été douloureux parce que j'ai besoin de faire de manipulation de chaîne etc ... donc je me suis tourné vers powershell.

Cependant, je n'arrive pas à obtenir powershell pour exécuter Curl:

$hash = "test"
$fileToUpload = "hello world.txt"
$user = "user"
$password = "passy"
curl --ftp-create-dirs -T $fileToUpload -u ${user}:${pass} ftp://example.com/$hash/$fileToUpload

Il en résulte:

Invoke-WebRequest : Parameter cannot be processed because the parameter name 'T' is ambiguous. Possible matches include: 
-TimeoutSec -TransferEncoding.
At line:5 char:24
+ curl --ftp-create-dirs -T $fileToUpload -u ${user}:${pass} ftp://example.com/$ha ...
+                        ~~
    + CategoryInfo          : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameter,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

Curl.exe est dans mon CHEMIN.

curl -> curl.exe
hein.. pourquoi est-ce que le travail?
Pour ajouter à ce que @PetSerAl dit - lors de l'appel de "curl", il est mappé comme un alias pour le Invoike-WebRequest applet de commande. Utiliser "curl.exe" à l'appel de la boucle de l'exécutable. Vous pouvez le vérifier avec: Get-Alias -nom curl
Ah je ne savais pas qu'il était intégré dans la chose, si quelqu'un ajoute une réponse, je vais accepter
doit obtenir la accepté de répondre.

OriginalL'auteur paulm | 2015-06-12