331 votes

Enregistrer un fichier dans un dossier spécifique à l'aide d'une commande curl

Dans un shell script, je veux télécharger un fichier à partir d'une URL et l'enregistrer dans un dossier spécifique. Quel est le drapeau CLI spécifique que je dois utiliser pour télécharger des fichiers dans un dossier spécifique avec la commande curl ou comment puis-je obtenir ce résultat autrement ?

5voto

JerryGoyal Points 9110

Pour powershell sous Windows, vous pouvez ajouter chemin relatif + nom de fichier a --output drapeau :

curl -L  http://github.com/GorvGoyl/Notion-Boost-browser-extension/archive/master.zip --output build_firefox/master-repo.zip

aquí build_firefox est un dossier relatif.

2voto

Harvey Points 407

Utiliser wget

wget -P /your/absolut/path "https://jdbc.postgresql.org/download/postgresql-42.3.3.jar"

0voto

Lerie Taylor Points 1

Voici un exemple d'utilisation de Batch pour créer un nom de fichier sûr à partir d'une URL et l'enregistrer dans un dossier nommé tmp/ . Je trouve étrange que cette option ne soit pas disponible sur les versions Windows ou Linux de Curl.

@echo off
set url=%1%

for /r %%f in (%url%) do (
    set url=%%~nxf.txt
    curl --create-dirs -L -v -o tmp/%%~nxf.txt %url%
)

Le fichier Batch ci-dessus prend une seule entrée, une URL, et convertit le nom de fichier à partir de l'URL. Si aucun nom de fichier n'est spécifié, il sera sauvegardé en tant que tmp/.txt . Tout n'est donc pas fait pour vous, mais le travail est fait dans Windows.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X