• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチファイルの作成について教えてください)

バッチファイルを使って特定のURLを自動で開く方法とは?

このQ&Aのポイント
  • バッチファイルを使って特定のURLを自動で開く方法について教えてください。
  • 特定のURLを開くためのバッチファイルの作成方法を教えてください。
  • バッチファイルを使って特定のURLにアクセスする方法を教えてください。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

バッチファイルといわれると 拡張子が .bat でDOSコマンドを実行させるコードをイメージしますが .Batファイルは一世代前のやり方です。 たぶん Windows上で作動していると思いますので VBScriptの機能を使って、プログラムを作成するのが現在の王道です。 処理1の1の部分ですが 以下は Y運輸のホームページにログインするファイルです。 以下をコピーして、メモ帳に貼り付け 拡張子 .vbs の名前で保存します。 Option Explicit Dim objIE Dim ctl 'IEオブジェクトを作成します Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True '(1)指定したURLを表示します objIE.Navigate "https://bmypage.kuronekoyamato.co.jp/bmypage/servlet/jp.co.kuronekoyamato.wur.hmp.servlet.user.HMPLGI0010JspServlet" '(2)ページの読み込みが終わるまでココでグルグル回る Do Until objIE.Busy = False '空ループだと無駄にCPUを使うので250ミリ秒のインターバルを置く WScript.sleep(250) Loop objIE.Document.frm.CSTMR_CD.value ="00011111111" objIE.Document.frm.CSTMR_CLS_CD.value ="000" objIE.Document.frm.CSTMR_PSWD.value ="XXXXX" For Each ctl In objIE.Document.getElementsByTagName("input") if ctl.value = "ログイン" then ctl.click exit for end if Next Set objIE = Nothing ここでのユーザー名やパスワードでも相手のホームページの作りを観察してTextBoxの名前などを 探り出します。 2の内容も、指定したURLで決まってきますのここでは誰も正解のコードは出せません。 VB IEのコントロール などで検索するといくつかのサイトが参考になると思います。 処理2ですが Windowsであれば タスク という機能があります。 スタートボタン=>すべてのプログラム=>アクセサリー=>システムツール=>タスク がありますので、そこで 実行したい時間やファイル名を設定しておけば、ご希望の時間に 自動で実行されます。

saiharu
質問者

補足

回答ありがとうございます。 バッチファイルは一時代前なんですね、失礼しました。 VBSで行いたいと思います。 追加で、アクセスしたいURLでは常に同じユーザー名/パスワードを利用してまして、画面上「OKボタン」を押すことが必要なのですが、その自動化も可能でしょうか? お手数ですがもしご存知でしたら教えてください。 よろしくお願いします。

その他の回答 (3)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

No2です。 >追加で、アクセスしたいURLでは常に同じユーザー名/パスワードを利用してまして、画面上「OKボタ>ン」を押すことが必要なのですが、その自動化も可能でしょうか? 出来ますよ。そのコードを書いたつもりですが。 検索してみたら エクセルのVBAからですが http://www.ken3.org/vba/backno/vba097.html のサイトにコードがありました。 一部編集してVBSにしたら Dim objIE 'インターネットエクスプローラーのオブジェクトを作る Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True '見えるようにする(お約束) '文字列で指定したURLに飛ぶ objIE.Navigate "http://www.ken3.org/cgi-bin/test/test068.html" '表示終了まで待つ Do While objIE.Busy = True '何もしないループ(笑) WScript.sleep(250) Loop '項目名を指定して、データをセットする objIE.document.all.userid.Value = "Ken3" 'ユーザー名 objIE.document.all.pass.Value = "aaa" 'パスワード 'データせっとできたので、 'ボタンを押してみる objIE.document.all.btn01.Click 'クリックメソッドを実行 こんな感じになります。 上記をメモ帳にでも貼り付けて、ファイル名を 三流さんへログイン.vbs とでもして保存してみてください。 *拡張子が vbsで名前は勝手で構いません。 但しuseridとかbtn01とかは ホームページを作成した作者が付けた名前です。 http://www.ken3.org/vba/backno/vba097.html をIEで開いたら 表示=>ソース で Htmlの内容を確認すると  それらの名前の部分があります。 希望する HPの中身を探っていかないとダメということです。

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.3

画像も含めて、たくさんページを保存したいなら、wget コマンドがお勧め。 http://gnuwin32.sourceforge.net/packages/wget.htm コマンドライン未経験者のための「Wgetの使い方」 http://bizmakoto.jp/bizid/articles/0610/24/news015.html Wgetを使おう的ページ http://kreisel.fam.cx/webmaster/file/wget-tutorial/wget.html ベーシック認証なら↓オプションでできるし、 | --http-user=USER set http user to USER. | --http-password=PASS set http password to PASS. ページの Form でログインさせる場合も↓オプションでできる。 | --post-file=FILE use the POST method; send contents of FILE. | --load-cookies=FILE load cookies from FILE before session. | --save-cookies=FILE save cookies to FILE after session. | --keep-session-cookies load and save session (non-permanent) cookies. プロキシを通すなら環境変数か .wgetrc で http_proxy=http://PROXY_SERVER:PORT/ wget コマンドは JavaScript で表示がどんどん変わるようなページじゃなければ、便利につかえるよ。 あと、これから定時バッチをたくさん作るなら、バッチファイルだけじゃなくて、 WScript(vbscript や jscript) か PowerShell は覚えておいて損はないとおもう。 でも、↑のスクリプトユーザは、Linux のシェルスクリプトよりは少なそうだから(特に日本は)、 Cygwin を導入して、bash で書くというのもありかな?とおもう。 http://www.cygwin.com/ わからないことがあったときに、すぐ聞ける人がいたほうが楽だし。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

処理1 における, 1 の「特定のファイル」のファイルと 2 の「ファイルを」のファイルとは同じものですか? 違うものですか? そして, プログラムとしては何を使っていいのですか?

saiharu
質問者

補足

回答ありがとうございます。 プログラムはVBSを考えています。

関連するQ&A