• ベストアンサー

ホームページのダウンロードについて

wgetのコマンドラインで wget -nc -P D:\ http://www.***.co.jp/ を実行すると、http://www.***.co.jp/が 正常にダウンロードされるのですが、 wget -nc -P D:\ http://www.***.co.jp/?A=1&B=2 のように変数が含まれると正常にダウンロードできないのですが、 わかる人がいらっしゃいましたら、教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • e_watt
  • ベストアンサー率71% (25/35)
回答No.1

-P D:\ と書いてあるので windows と仮定しますが、 windows(Cygwin含む)ではファイル名に'?'を含むことができないので ファイルが作れずに失敗しているものと思われます。 -O ファイル名 を追加して出力するファイル名を指定してみてください。

hiro300
質問者

お礼

"wget -nc -O ファイル名 URL" で、問題なく動作しました。 ほんとうにありがとうございました。 感謝感謝です。

関連するQ&A

  • wgetでのダウンロードについて

    wgetでのダウンロードについて はじめまして。 HPのバックアップを取ろうと思い、wgetというものを使おうと思うのですが 取得できる物と、できない物があり、何故かがわからずに困っているので 理由、もしくは解決方法を御存じの方がいらっしゃいましたら、是非お教え下さい。 パソコンは、windows xpです。 (例) www.hoge.co.jp   L css(フォルダ)  L photo(フォルダ)  L image(フォルダ) index.html aaaaa.html という様な構造なのですが、cssフォルダの中の いくつかのファイルしか取得できませんでした。 (同じ様なスタイルシートで、拡張子は全て.cssです。) コマンドプロンプトで wget -r www.hoge.co.jp -P C:\wget という感じで実行しています。 全部DLできない訳ではないので、余計に悩んでいます。 みなさま、よろしくお願いします。

  • JavaScript実行後ページのダウンロード

    JavaScript実行後のWEBページをダウンロード出来るコマンドを探しています。 WEBページをブラウザで表示すると、wget等のダウンロードコマンドでダウンロードしたHTMLとは内容が異なる場合があると思うのですが、JavaScript実行後のHTMLをダウンロード出来るコマンドはないでしょうか。 もしかしたら私の勘違いで、実はJavaScriptが実行されたからWEBページの内容が異なるのではない場合もあるかと思うのですが、とにかくブラウザで表示されるのと同じ内容のHTMLをダウンロード出来るコマンドを探しているという事です。 どなたかご存知の方がおられましたら、お教え頂けないでしょうか。

  • IP自動更新スクリプトがうまく動作しません

    環境 FreeBSD9 IP自動更新スクリプトを作成したのですが、うまく動作しません。メールでwget not foundが10分間隔で送られてきます。 wgetコマンドが見つからないと言ってるようです。/usr/local/bin/にwgetコマンドがあります。 また、コマンドラインでもwgetを使用してダウンロードできます。 vi /usr/local/bin/ddo.sh に以下のスクリプトを作成して、実行権限を与えました。 #!/bin/sh wget -O - "http://free.ddo.jp/dnsupdate.php?dn=hogehoge&pw=hogehoge1234" >> /var/log/result.log コマンドプロンプトでddo.shを実行すると、正常にIP更新がされログにその更新内容が記載されます。 スクリプトをcrontab -eに登録しました。 */10 * * * * /usr/local/bin/ddo.sh 10分間隔で実行はされるのですが、wget not found がメールに届き、ログに更新内容の記載がありません。 何がいけないのでしょうか? よろしくお願いします。

  • VISTAでのwgetのタスク登録方法

    wgetで、テキストファイルに羅列したurlのサイトを自動でダウンロードしたいのですが、 XPで使っていたときは、タスクに D:\wget\wget.exe -i url.txt と入力して、うまくいっていました。 しかし、vistaで同じことをしたいのですが、うまくいきません。 D:\wget\wget.exe 引数 -i url.txt としているのですが、間違っているでしょうか? コマンドプロンプトで直接 D:\wget\wget.exe -i url.txt と入力すると、狙い通りの動作をしてくれるのですが、 タスクに登録しても、時間がくると一瞬コマンドプロンプトの画面が映るだけで ダウンロード等せずに終了してしまいます。 どうかアドバイスをお願いします。

  • シェルでコマンドの実行結果を変数に格納する方法

    以下のようなコマンドライン引数を取得するシェルを書いたのですが 実行時にエラーになってしまいました。コマンド(第2引数以降を取得するコマンド)の実行結果を変数に格納するところでエラーになってしまいました。どのようにすればよろしいでしょうか。 「./test2.sh a b c d e」を実行し「a: コマンドが見つかりません」 というエラーが出てしまいます。 (test2.shの内容) #!/bin/sh OUTPUTFILE=$1 SRC_FILES=`"$@" | cut -d ' ' -f 2-` # 第二引数以降を取得 echo $OUTPUTFILE ←ここは表示される echo $SRC_FILES ←ここでエラー

  • Linuxコマンドのパス取得方法

    すいません、どなたかお分かりの方おられましたらアドバイスいただけましたら助かります。 PHPからLinuxコマンドのwgetとlhaコマンドを実行しています。 しかし、実行するサーバーによってコマンドパスが違うので whereisでパスを取得してからPHPで実行するようにしています。 しかし、CRONで実行したときにだけ、そのパスが取得できない状態です。 こういった場合、どのようにしたらパスが取得できるでしょうか。。 環境:さくらインターネットビジネスプロ FreeBSD 7.1-RELEASE-p15 whereis wgetを コンソールで実行した場合 ⇒ wget: /usr/local/bin/wget /usr/local/man/man1/wget.1.gz CRONで実行した場合 ⇒ wget: /usr/local/man/man1/wget.1.gz whereis lhaを コンソールで実行した場合 ⇒ lha: /usr/local/bin/lha CRONで実行した場合 ⇒ lha: よろしくお願いしますm(_ _)m

  • PHPで外部アプリケーションを操作するには?

    外部コマンドを使ってもずっと読み込み中になります。wget以外のアプリもいきません。 wgetはパスを通しています。 以下を実行するとずっと読み込み中になります。PHPのエラーはでません。 passthru('wget http://weather.is.kochi-u.ac.jp/FE/00Latest.jpg',$ret); var_dump($ret); 普通のコマンドプロンプトのコマンドは実行されます。 以下は実行されます。 passthru('dir',$ret); var_dump($ret); 外部アプリはコマンドプロンプトから実行すると正常に動作します。 外部アプリをPHPから操作するにはどうしたらいいのでしょうか? ご存じの方いらっしゃいましたらご教授ください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • sedの引数を変数に格納する方法

    例えば、次のコマンド echo a b c d e f | sed -e 's/.*\(b.*e\).*/\1/' -e 's/.*b c *\(.*\) .*/\1/' の「-e 's/.*\(b.*e\).*/\1/' -e 's/.*b c *\(.*\) .*/\1/'」の部分を変数に格納して echo a b c d e f | sed $regex のように実行したいのですが、変数が展開されるときにクォーテーションマークがどのように付与されるのかを理解できず、 regex=’-e s/.*\(b.*e\).*/\1/' まではできたのですが、コマンドにスペースが入った場合、どうすれば良いのかわからないため、後半のコマンドを格納することができません。 この場合、どのように変数に格納すれば良いのでしょうか。 よろしくお願いいたします。

  • バッチにすると動作しない

    コマンドプロンプト初心者です。 仕事でファイルの名前を一括変換する為にバッチを作成したいのですが、 コマンドプロンプトでは動作するのに、bat形式のファイルに保存して実行すると、一瞬だけ窓が開いてすぐ終了してしまいます。 変換はもちろんされておりません。 フォルダの構成は下記の通りです。 フォルダ ┣フォルダA    ┣p001-a01_01.jpg    ┣p002-b01_01.jpg    ┗p003-c01_01.jpg ┣フォルダB    ┣p001-a01_01.jpg    ┣p002-b01_01.jpg    ┗p003-c01_01.jpg ┗フォルダC フォルダ内にある001-a01_01.jpgの【_01】を消して001-a01.jpgという風にしたいのですが、 cd C:\Data for /r /d %i in (*) do ren %%i\p???-a01_01.jpg p???-a01.jpg for /r /d %i in (*) do ren %%i\p???-b01_01.jpg p???-b01.jpg for /r /d %i in (*) do ren %%i\p???-b01_01.jpg p???-c01.jpg 上記のコマンドをメモ帳に書いて、コマンドプロンプトで実行したところ、ファイル名の変換はされました。 しかし、そのメモ帳をbat形式で保存をして実行をすると、冒頭で書いたように実行されません。 書き方など、自分なりに調べて試してみたのですが、やはり変換されません。 コマンドプロンプトで実行する時と、バッチで実行する時では書き方が違うのでしょうか? よろしければ知恵を貸していただきたく思います。

  • ダウンロードってどうやってますか?

    おはようございます。 愚問ですが、お付き合いください。 linux(redhat8.0)を家で使っています。 最近wgetというコマンドで、ファイルをダウンロードする術を学びました。 でも、たとえばサイトでダウンロードするファイルが別ディレクトリにリンクされている場合などは簡単には使えませんよね? そこで、lynxでそのサイトに行ってダウンロードしようとしてみたのですが、見難くて途中であきらめました。 いつもはwindowsに一度ダウンロードしてから、ftpでアップロードしていたのですが、ホントはもっと効率の良いやり方があるのかな?と思って質問してみました。 ちなみにlinuxでXは使ってません。