• ベストアンサー
  • 暇なときにでも

表示中のURLなどをバッチファイルに渡す

IEコンポーネントブラウザで閲覧中のページの  タイトル  URL  選択中リンクのリンク先タイトル  選択中リンクのリンク先URL  選択中文字列 などを引数として、自作のバッチファイルに渡す方法を教えていただけないでしょうか。 また、渡す際の操作回数は1動作が望ましいです。  Ctrl+iなどショートカットキーを一回押す  ランチャーのアイコンを一回クリック など。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数702
  • ありがとう数2

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

  • ベストアンサー
  • 回答No.3
  • notnot
  • ベストアンサー率47% (4676/9834)

>"TITLE"という名前のフォルダが作成 >"TITLE\ccc.txt"の中身は"URL"という文字列 変数の中身の参照は、% % で囲みます。 mkdir "%TITLE%" echo %URL% >> "%TITLE%\ccc.txt" にしてください。 >"delims=" >とはどういう意味なのでしょうか。 delimsの初期値は空白とタブなので、これを書かないと、タイトル中に空白があった場合、空白で区切った最初の単語だけが%%Aに入ります。実際にやってみてください。 "delims="と書くことで「区切り文字無し」となりタイトル全部が区切られずに%%Aに入ります。 >のFor Each ~ Nextループで複数のウインドウの情報を取得しようとしているようですが、ウインドウ一つだけ取得するにはどう書き換えればよろしいのでしょうか。 ウィンドウが1つしか無ければ問題ないですよね。複数あった場合、最初の1つだけ取るならIF文できますが、それが希望のウィンドウとは限らないので、この方法では無理があると思います。 アクティブなタブ、アクティブなウィンドウの検知については私がわからないだけかもしれないので、このあたりを何とかしたいなら、WSH Lab.で聞いてみて下さい。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

変数の中身参照の仕方やdelimsなど、バッチプログラミングの説明までしていただき大変助かりました^^。 ありがとうございました。 アクティブなタブ、ウインドウを検出する方法か、別の方法を探してみたいと思います。

関連するQ&A

  • ステータスバーのリンク先URLを常に表示させる(HPの文字列が表示され、URLが見えない)

    ステータスバーを表示させた状態で、マウスポインタをHP上のリンクのあるところに持っていくと、一瞬リンク先のURLが表示されるのですが、その後はHPの宣伝?などの文字列が表示されURLが見えなくなります。そこで、この文字列を表示させないようにし、ポインタをリンクのあるところに持っていくと常にリンク先URLを表示させるにはどのようにすれば良いですか?よろしくお願いします。 (以前は常に、リンク先URLが表示されていました。再セットアップを行ったところ現状のようになりました。以前、IEのツールを設定した気がします。) OS:Windows XP ブラウザ:IE8

  • FirefoxブラウザのURL表示

    Firefoxブラウザで表示したページの中で、リンクの上にマウスを持っていくと、以前はリンク先のURLがブラウザの下部に表示されていたのですが、いつのまにか表示されなくなってしまいました。どうしたらリンク先URL表示を取り戻すことができるでしょうか。

  • コンボボックスの値が変更されたらそのコンボボックスに表示されたURLを開きたい

    データ型がハイパーリンクの文字列が入力されたテーブルをコンボボックスに表示させています。(添付画像参考) 希望は、 プルダウンでURLを選択したと同時にリンク先へ飛びたいです。 現在は、 プルダウンでURLを選択→コンボボックスをクリック でリンク先に飛んでいます。 多分コンボボックスのChangeイベントだと思うのですが どうすればいいのでしょうか? アドバイスよろしくお願いします。

その他の回答 (2)

  • 回答No.2
  • notnot
  • ベストアンサー率47% (4676/9834)

#1です。 IEでも開いているウィンドウの情報がすべて出てきます。アクティブなウィンドウを調べるのは可能かもしれませんが、分かりません。 タブブラウザのアクティブなタブを知るのはVBSでは無理な気がします。どれがアクティブかはそのソフトの中で決まっていることなので。 WSH関係で高度な情報のあるBBSがあるので下記にURLを書いておきます。 >・それから、URL、タイトル、選択文字列がワンセットになっていますがひとつずつ渡すにはVBSをどのように記述したらよろしいのでしょうか。理解不足ですみません;。 引数を渡してそれにより出力内容を変えることも出来ますが、URL出力専用、タイトル出力専用にそれぞれ別のVBSファイルにするのも分かりやすいですね。 >・実は自作バッチファイルの方も試行錯誤の段階で、今はとりあえず下記のようなことをやろうとしています やりたいことがよくわからないのですが、もし、ウェブページのスクラップのようなことがしたいのなら、「紙2001」http://www.ki.rim.or.jp/~kami/ はどうでしょうか?もしやりたいことがちがうとしても、「そもそもの本来やりたいこと」を質問されたほうが適切な回答が得られる可能性が高いと思います。

参考URL:
http://www.roy.hi-ho.ne.jp/mutaguchi/bbs/index.shtml

共感・感謝の気持ちを伝えよう!

質問者からの補足

・この手の機能をWSHというんですか。結構本格的なものなんですね。参考になります。 VBSでアクティブタブを知るのは無理ですか;。 ショートカットキーからの呼び出しもそうだと思いますがこのあたりはブラウザに依存が強い内容なんでしょうかね・・・。 とりあえずタブを一つだけ開いた状態でならできそうですので試してみました。 [title.vbs] ****************** For Each window In WScript.CreateObject("Shell.Application").Windows Set document=window.document If typename(document)="HTMLDocument" Then WScript.Echo document.title End If Next ****************** [url.vbs] ****************** For Each window In WScript.CreateObject("Shell.Application").Windows Set document=window.document If typename(document)="HTMLDocument" Then WScript.Echo document.location.href End If Next ******************* [tu.bat] ******************* cscript //nologo title.vbs > file1.txt cscript //nologo url.vbs > file2.txt for /f "delims=" %%A in (file1.txt) do set TITLE=%%A for /f "delims=" %%B in (file2.txt) do set URL=%%B mkdir "TITLE" echo "URL" >> "TITLE\ccc.txt" ******************** という3つのファイルを同一フォルダ内の用意し、tu.batを実行してみました。 その結果 "TITLE"という名前のフォルダが作成 "TITLE\ccc.txt"の中身は"URL"という文字列 となりました。%%A、%%Bにいれた値(文字列)をfor文の外で利用できないのでしょうか。 それからNo1の解答のときに書いてくださったコードについて伺いたいのですが、 ・http://ykr414.com/dos/dos05.html#07 によると delimsは区切り文字セットということですが "delims=" とはどういう意味なのでしょうか。 ・set URL=%%A&goto L1 ではURLという変数に現在の%%Aの値を代入しているのではないのでしょうか。 ・For Each window ・・・ ・・・ Next のFor Each ~ Nextループで複数のウインドウの情報を取得しようとしているようですが、ウインドウ一つだけ取得するにはどう書き換えればよろしいのでしょうか。 ・紙2001やWebox、WebAutoなどWebを保存できるソフトをいろいろ使ったのですが、Webデータを自前プロキシのキャッシュとして保存する機能を持っていないものが多く、一部のJAVAアプレットなどうまく保存できないコンテンツがあるんですよね。 それで今のところはプロキシ機能を持っているWeb保存ソフトGethtnlを使っています。

  • 回答No.1
  • notnot
  • ベストアンサー率47% (4676/9834)

IEに表示中のページで、URL、タイトル、選択中文字列であれば、vbsで、 For Each window In WScript.CreateObject("Shell.Application").Windows Set document=window.document If typename(document)="HTMLDocument" Then WScript.Echo document.location.href WScript.Echo document.title If document.selection.createRange().text="" Then WScript.Echo "(not select)" Else WScript.Echo document.selection.createRange().text End If End If Next これを、aaa.vbs 等の名前をつけて、自作バッチファイル中で、 cscript //nologo aaa.vbs > file.txt for /f "delims=" %%A in (file.txt) do set URL=%%A&goto L1 :L1 for /f "skip=1 delims=" %%A in (file.txt) do set TITLE=%%A&goto L2 :L2 for /f "skip=2 delims=" %%A in (file.txt) do set SELECTION=%%A IE画面が複数開かれていれば、画面数x3行出力されるので、それを考慮してください。また特殊文字が含まれていると、バッチ処理がエラーになるかもしれませんが、それはバッチ機能の制約です。VBSを勉強して全てVBSで書くのが良いかと思います。 >選択中リンクのリンク先タイトル これは実際に開かないと分からないと思います。 >選択中リンクのリンク先URL これはちょっと調べられませんでした。無理かなあ。 IE以外のIE系ブラウザは分かりませんが、sleipnirならスクリプトが書けるので可能かもしれません。具体的なターゲットのブラウザソフトがあるなら、そのブラウザのコミュニティで聞くほうが早いと思います。

共感・感謝の気持ちを伝えよう!

質問者からの補足

ご回答くださりありがとうございます。VBSですか・・・ ・とりあえず For Each window In ・・・・ をaaa.vbsに記述。 cscript //nologo aaa.vbs >・・・・ をaaa.batに記述。 aaa.vbsとaaa.batを同フォルダに配置。そして「ぶら。」という名のIEコンポーネントブラウザで閲覧中aaa.batを実行しました。 その結果 *********************** http://www.vector.co.jp/vpack/filearea/win/writing/other/index.html Download: Windows > 文書作成 > その他 (not select) http://www.vector.co.jp/vpack/filearea/win/business/calc/spread/index.html Download: Windows > ビジネス > 計算・表計算・グラフ > 表計算 (not select) http://www.hanshintigers.jp/team/profile/18.html 阪神タイガース公式サイト (not select) cscript //nologo aaa.vbs > file.txt for /f "delims=" %%A in (file.txt) do set URL=%%A&goto L1 :L1 for /f "skip=1 delims=" %%A in (file.txt) do set TITLE=%%A&goto L2 :L2 for /f "skip=2 delims=" %%A in (file.txt) do set SELECTION=%%A *********************** というfile.txtが作成されました。 ・結果を見ると、全てのタブのURL、タイトル、選択文字列情報を取得してしまいますが、現在アクティブになっているタブに関してのみURLなどを送るにはどうしたらよろしいのでしょうか。(IEだとアクティブになっているウインドウに対応しそうな気がするのですが) ・それから、URL、タイトル、選択文字列がワンセットになっていますがひとつずつ渡すにはVBSをどのように記述したらよろしいのでしょうか。理解不足ですみません;。 ・実は自作バッチファイルの方も試行錯誤の段階で、今はとりあえず下記のようなことをやろうとしています。(文法におかしいところがあるかもしれません・・;) %1にタイトル(または選択文字列)、%2にURL(選択中リンクのリンク先URL)を渡します。 ******************************************** if exist "C:\%1" goto Error else goto Main :Error echo "EXIST!" goto End :Main rem テンプレートフォルダを中身ごと、タイトル名のフォルダにコピー xcopy "C:\templete" "C:\%1" /I rem "C:\%1"に置いてある"test.txt"にURLと改行を追加 echo "%2\n" >> "C:\%1\test.txt" rem "C:\%1"に移動 cd "C:\%1" rem "C:\%1"にある別のバッチファイルを起動 call ght.bat rem "C:\%1"を開く C:\Windous\explorer.exe "C:\%1" goto End :End ******************************************* ・「ぶら。」にはスクリプト機能はないようですね。 SleipnirはIEコンポーネントではないですよね。乗り換える踏ん切りがつきません・・・。 http://tabbrowser.ktplan.jp/angband.html

関連するQ&A

  • 選択範囲のリンク URL の抽出

    多数のリンクを持つウェブページから、マウスで選択した 部分に含まれるリンク先 URL をブックマークレットで 取り出したいと思っています。 document.getElementsByTagName( "a" ) でリンクの一覧が取り出せますが、選択範囲外のものも 含まれます。 また、 document.getSelection() で選択範囲が取り出せるのですが、そこにはリンク先の URL が含まれていません。 選択範囲に含まれるリンク先 URL を取り出すには どうすればよいでしょうか。

  • IISのサーバサイド実装でお手軽なもの

    別なサイトのWebページからのリンクで引数一つを渡してもらって、 その引数の値で自分のページ内の静的なhtmlのリンクのURLに引数を埋め込んだhtmlをブラウザに表示したいと考えております。 ただ今のIISのサーバーにはperlも何も入れていないので本当に、 http://localhost/webroot/test.bat?arg=12345 みたいに、お手軽にバッチファイルの中で文字列変換してhtmlをはくぐらいの簡単に出来ないかなと思っているんですが、 IISのサーバーサイドでお手軽に実装する方法ってなにがありますか? 出来ればvbs程度の知識で出来ればと考えているのですが。

    • ベストアンサー
    • CGI
  • リンク先URLの記述で引数を渡すと画面が変わってしまう

    ナビゲータをリンク先のURLで指定しているのですが、TOPの画面で使い方としてURLのindex後に引数を2個渡して使う場合があります。その際に、TOPのもともともURLがindexで終わっている時の画面が壊れてしまうのですが、引数を渡した場合も、indexと同じ画面表示をさせたい場合、HTMLのリンク情報としてはどのように書けばよいのでしょうか?

  • サンダーバードでリンクURLと違うURLへ飛ぶのは

    メールソフトでサンダーバードを使っていますが、 メールの内容にサイトのURLのリンクを貼ろうと思って、コピーして貼り付け、後で確認すると アドレスは合っているのにリンク先は貼り付けたアドレスと違う所に飛んでしまいます。 不思議に思ってそのリンクアドレスを選択し、リンク先のプロパティを開いてみると上の欄にはコピーしたアドレスが そして下のリンク先には飛んでしまう違うアドレスが入っていました。 そこを手で入力し直せば解決はしたのですが。 一体なぜこのような現象が起こるのでしょうか? リンク先に違うアドレスが入ってしまわないようにリンクを貼る方法をご存知の方がいらっしゃいましたら教えていただけませんでしょうか? よろしくお願いいたします。

  • モバイルOS対応ブラウザで、ハードキーのショートカットキーに対応してい

    モバイルOS対応ブラウザで、ハードキーのショートカットキーに対応しているものは無いのでしょうか? willcom03を使っていますが、最近のモバイルブラウザは、文字選択・切り貼りの際にハードウェアキーボードの次のショートカットキーが使えない部分があります。 ctrl+a ctrl+c ctrl+v shift+矢印キー 以上です。 例えば、operamobile9.5は、ctrl+cなどが、ブラウザ標準の検索窓で使えても、表示したサイト内では使えません。 また、リンク選択移行にtabやshift+tabが使えないブラウザもありますね。 何とか全てが使えるものは無いのでしょうか。(IEmobileは論外です。) 折角ハードキー搭載機種を選択しても、ショートカットキーが使えないのでは、利点が半減です。

  • ステータスバーに文字列を表示するには?

    えっと、タイトルそのまんまなのですが、 ステータスバーに任意の文字列を表示させるにはどうしたらいいのでしょう? リンク先のときはonmouseoverを使えばいいことはわかったんですけど、リンクにマウスを乗せていないときにも表示させるには(別の文字列を)どうしたらいいのでしょう? 流すやり方はわかったのですが、流しているとリンクにマウスを乗せたとき、一瞬しか表示されなくなってしまうので、できれば静止したままにしたいです。 なんかわかりにくい説明ですみません。 関連URLなど教えていただけると有り難いです。 よろしくおねがいします。

    • ベストアンサー
    • HTML
  • SLEIPNIRでポインタを合わせるとURLがでてくるようにする方法

    ポインタを合わせただけでリンク先のURLが下に表示 されるようにするにはどうすればよいのでしょうか? あと同ページ内に複数のいきたいリンクが張られていて それらを選択しておいてあとで一気にそのリンク先を 開くようにするにはどうすればいいのでしょうか? わかる方がいればどちらでもいいので教えていただければ助かります。

  • Firefoxにて現在表示されているページのURLを表示させたい

    Firefoxについて分からないことがあるので質問させて下さい。 現在、Firefox3.5.6を使用しているのですが、PCがネットブックのため、少しでも画面を広く使おうと、メニューバー、ナビゲーションツールバーを非表示にしているんです。 通常使うのであればまるで問題ないのですが、時々、現在開いているページのURLを知りたいときがあります。 その度にナビゲーションツールバーを表示するか、ページ上で右クリックして「ページの情報を表示」などを選択すれば知ることができるのですが、どちらもちょっと面倒でして・・・ 何か標準のショートカットキーやアドオンなどで、URLだけを表示させる方法はないのでしょうか? 一番の希望の動きとしては、Ctrl+lの「URLを開く」で、表示中のページのURLが初期表示されることなのですが、そんな都合の良いアドオンなんてないですよね(^^;) 何か使えそうな技がありましたら教えて下さい。 宜しくお願い致します。

  • ブラウザ上でのショットカットキー

    URLを「Ctrl+C」でコピーしてから、ブラウザ上で「Ctrl+Alt+V」と押すとサイトにアクセスできるショートカットキーがあったと思うのですが、設定の仕方が分かりません。 よろしければ、どなたか教えてください ブラウザ上で「Ctrl+Alt+V」を押しただけでサイトが自動的に立ち上がったと思います。

  • URLエンコーディングで悩んでいます。

    関係者のみのページから特定のページにリンクさせる際に ダミーのリファーを飛ばしてリンクするシステムを作っています。 link.php の内容(EUC) <? $url = $_GET['url']; ?> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <html> <body> 下のURLへリンクします。よろしければクリックしてください。<BR> <a href="<? echo $url; ?>"><? echo $url; ?></a> </body> </html> このスクリプトを引数url http://search.yahoo.co.jp/search?p=%E4%BB%8A%E6%97%A5%E3%81%AF%E8%89%AF%E3%81%84%E5%A4%A9%E6%B0%97&fr=top&src=top (URLエンコードされた文字列)を与えて起動すると URLエンコードされた部分が文字化けしてしまいます。 渡された引数をそっくりそのまま表示し文字化けさせずに表示させることはできないのでしょうか。

    • ベストアンサー
    • PHP