Próbuję uruchomić curl, aby przesłać plik w moim skrypcie, używanie partii było bolesne, ponieważ potrzebowałem manipulowania ciągami itp., Więc zwróciłem się do powłoki powershell.Uruchamianie curl za pomocą powershell - jak konstruować argumenty?
Jednak nie wydaje się uzyskać PowerShell do wykonywania 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
Wynika to z:
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 jest w moim PATH.
'curl' ->' curl.exe' – PetSerAl
huh .. dlaczego to działa? – paulm
Aby dodać do tego, co powiedział @PetSerAl - podczas wywoływania "curl", jest zamapowany jako alias do cmdletu Invoike-WebRequest. Użyj "curl.exe", aby wywołać plik curl. Możesz to potwierdzić za pomocą: Get-Alias -name curl – dugas