webdevqa.jp.net

wget-.txtファイル内の多くのURL-ダウンロードして名前を付けて保存

Excelファイルに2000のURLがあります。 URLは最初の列にあり、2番目の列にはURLからダウンロードされたファイルの名前が最初の列にあります。それをコピーして、必要に応じて.txtファイルに貼り付けることができます。問題ありません。ファイル名にはスペースが含まれています。 Windows 7でこれを行う必要があります。手伝ってくれませんか?

@編集:まあ、申し訳ありませんが私の問題が不明な場合。私は英語のネイティブスピーカーではありません。最初の列にURLがあり、このURLからダウンロードしたファイルを2番目の列の名前で保存したいと思います。そのスペースがそこにあることを望みます。 「wget」ツールを使用して、1つのコマンドまたはバッチファイルですべてのファイルをダウンロードしたい。

1
user194380

ステップ

  1. ワークシートをExcelで開き、ファイル→名前を付けて保存をクリックします。

  2. Excelを閉じてファイルのロックを解除します。

  3. タイプとして[〜#〜] csv [〜#〜](カンマ区切り値)を選択し、ファイルを_urls.csv_と同じにします。

  4. コマンドプロンプトを開き、実行します

    _type urls.csv
    _

    値の区切り文字(URLとファイル名の間に配置された文字)を識別します。

    セミコロンなどの場合は、次のコマンドを実行します。

    _for /f "delims=; tokens=1,2" %a in (urls.csv) do @wget -O "%b" "%a"
    _

使い方

  • Excelは、URLと対応する名前をコンマ(またはセミコロン)で区切られた値として保存します。

    例:

    _http://foo;bar
    http://foo bar;foobar
    _
  • for /f ... %a (urls.csv)はすべての行を調べ、最初の値を_%a_に保存し、2番目の値を_%b_に保存します。

    ここで、_delims=;_は値の区切り文字としてセミコロンを指定し、_token=1,2_は2つのトークンがあることを指定します。

  • _wget -O "%b" "%a"_は_%a_を_%b_に保存します。 URLは引用符で囲まれているため、Wgetはスペースやその他の特殊文字を自動的に処理します。

  • _@_の前の_@wget_は、コマンドが出力されないようにします。

参照: / fの場合-テキストをループ| SS64.com

0
Dennis

お手伝いできますか?おそらく、あなたが実際に何をする必要があるのか​​を言ったのなら。 「ファイル名」とはどういう意味ですか?

これが一般的な答えです。 1)スプレッドシートプログラムで、スペースを削除するデータを含む列をコピーします。 2)それを.txtファイルに保存します。 3)検索と置換が機能しているプログラムでその.txtファイルを開きます。 4)スペースを検索し、_に置き換えます。5)その.txtファイルを保存します。6)スプレッドシートプログラムで開きます。 7)data_data_dataを含む列が必要です。 8)その列を元のファイルにコピーします。

それはパズルを解くでしょうか?

0
NoMonkey No

説明Input.txt次のようになります:

http://cdn.sstatic.net/superuser/img/sprites.png sp ri te.png
http://www.google.com/images/srpr/logo3w.png go og le.png

次のような単一のコマンド:

for /f "tokens=1*" %i in (Input.txt) do wget -O "%j" "%i"

ファイルをそれぞれsp ri te.pngおよびgo og le.pngとして保存します。

バッチファイルで使用するには、%記号を2倍にするだけです。

注:明らかに、URLにはスペースを含めることはできません。 %20などを使用するようにエンコードされていることを確認してください。

0
Karan