263

シェル スクリプトで、ある URL からファイルをダウンロードして、特定のフォルダーに保存したいと考えています。コマンドで特定のフォルダーにファイルをダウンロードするために使用する必要がある特定の CLI フラグは何ですかcurl? または、その結果を取得するにはどうすればよいですか?

4

6 に答える 6

381

curl へのパスを指定することはできないと思いますが、その場所に CD で移動し、ダウンロードして CD に戻すことはできます。

cd target/path && { curl -O URL ; cd -; }

またはサブシェルを使用します。

(cd target/path && curl -O URL)

どちらの方法でも、パスが存在する場合にのみダウンロードされます。-Oリモートファイル名を保持します。ダウンロード後、元の場所に戻ります。

ファイル名を明示的に設定する必要がある場合は、小さな-oオプションを使用できます。

curl -o target/path/filename URL
于 2013-05-03T16:00:40.517 に答える
0

Batch を使用して URL から安全なファイル名を作成し、それをtmp/という名前のフォルダーに保存する例を次に示します。これが Windows または Linux 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%
)

上記のバッチ ファイルは、単一の入力、URL を受け取り、URL からファイル名を変換します。ファイル名が指定されていない場合は、tmp/.txtとして保存されます。したがって、すべてが完了しているわけではありませんが、Windows で作業を完了できます。

于 2022-02-02T16:32:16.810 に答える