これら 2 つのスクリプトのいずれかを使用して、(単一の) 新しい IE ウィンドウの別々のタブで URL を開くことができます。バッチ スクリプト内から (またはコマンド プロンプトから)、これらのスクリプトのいずれかを呼び出すことができます。
JavaScript "urls.js"
のような名前のファイルを作成します:
var navOpenInNewWindow = 0x1;
var navOpenInNewTab = 0x800;
var navOpenInBackgroundTab = 0x1000;
var intLoop = 0;
var intArrUBound = 0;
var navFlags = navOpenInBackgroundTab;
var arrstrUrl = new Array(3);
var objIE;
intArrUBound = arrstrUrl.length;
arrstrUrl[0] = "http://bing.com/";
arrstrUrl[1] = "http://google.com/";
arrstrUrl[2] = "http://msn.com/";
arrstrUrl[3] = "http://yahoo.com/";
objIE = new ActiveXObject("InternetExplorer.Application");
objIE.Navigate2(arrstrUrl[0]);
for (intLoop=1;intLoop<=intArrUBound;intLoop++) {
objIE.Navigate2(arrstrUrl[intLoop], navFlags);
}
objIE.Visible = true;
objIE = null;
VB スクリプト"urls.vbs"
のような名前のファイルを作成します。
Option Explicit
Const navOpenInNewWindow = &h1
Const navOpenInNewTab = &h800
Const navOpenInBackgroundTab = &h1000
Dim intLoop : intLoop = 0
Dim intArrUBound : intArrUBound = 0
Dim navFlags : navFlags = navOpenInBackgroundTab
Dim arrstrUrl(3)
Dim objIE
intArrUBound = UBound(arrstrUrl)
arrstrUrl(0) = "http://bing.com/"
arrstrUrl(1) = "http://google.com/"
arrstrUrl(2) = "http://msn.com/"
arrstrUrl(3) = "http://yahoo.com/"
set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate2 arrstrUrl(0)
For intLoop = 1 to intArrUBound
objIE.Navigate2 arrstrUrl(intLoop), navFlags
Next
objIE.Visible = True
set objIE = Nothing
"JavaScript"または"VB Script"
を決定したら、いくつかの選択肢があります。
URL が静的な場合:
1) 「JS/VBS」スクリプト ファイル (上記) を記述し、それをバッチ スクリプトから呼び出すことができます。
バッチ スクリプト (またはコマンド プロンプト) 内から、次のように「JS/VBS」スクリプトを呼び出します。
cscript //nologo urls.vbs
cscript //nologo urls.js
URL が頻繁に変更されない場合:
2) バッチ スクリプトで"JS/VBS"スクリプトをオンザフライで記述し、それを呼び出すことができます。
URL が毎回異なる可能性がある場合:
3) 「JS/VBS」スクリプト (以下) を使用し、開くページの URL をコマンド ライン引数として渡します。
JavaScript "urls.js"
のような名前のファイルを作成します:
var navOpenInNewWindow = 0x1;
var navOpenInNewTab = 0x800;
var navOpenInBackgroundTab = 0x1000;
var intLoop = 0;
var navFlags = navOpenInBackgroundTab;
var objIE;
var intArgsLength = WScript.Arguments.Length;
if (intArgsLength == 0) {
WScript.Echo("Missing parameters");
WScript.Quit(1);
}
objIE = new ActiveXObject("InternetExplorer.Application");
objIE.Navigate2(WScript.Arguments(0));
for (intLoop=1;intLoop<intArgsLength;intLoop++) {
objIE.Navigate2(WScript.Arguments(intLoop), navFlags);
}
objIE.Visible = true;
objIE = null;
VB スクリプト"urls.vbs"
のような名前のファイルを作成します。
Option Explicit
Const navOpenInNewWindow = &h1
Const navOpenInNewTab = &h800
Const navOpenInBackgroundTab = &h1000
Dim intLoop
Dim navFlags : navFlags = navOpenInBackgroundTab
Dim objIE
If WScript.Arguments.Count = 0 Then
WScript.Echo "Missing parameters"
WScript.Quit(1)
End If
set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate2 WScript.Arguments(0)
For intLoop = 1 to (WScript.Arguments.Count-1)
objIE.Navigate2 WScript.Arguments(intLoop), navFlags
Next
objIE.Visible = True
set objIE = Nothing
スクリプトがパラメータなしで呼び出された場合、これらはを返します。%errorlevel%=1それ以外の場合は を返し%errorlevel%=0ます。URL の「有効性」または「可用性」に関するチェックは行われません。
バッチ スクリプト (またはコマンド プロンプト) 内から、次のように「JS/VBS」スクリプトを呼び出します。
cscript //nologo urls.js "http://bing.com/" "http://google.com/" "http://msn.com/" "http://yahoo.com/"
cscript //nologo urls.vbs "http://bing.com/" "http://google.com/" "http://msn.com/" "http://yahoo.com/"
あるいは:
cscript //nologo urls.js "bing.com" "google.com" "msn.com" "yahoo.com"
cscript //nologo urls.vbs "bing.com" "google.com" "msn.com" "yahoo.com"
何らかの理由で、代わりに「wscript」を使用してこれらを実行したい場合は、「start /w」を使用することを忘れないでください。これにより、終了コード (%errorlevel%) がバッチ スクリプトに返されます。
start /w "" wscript //nologo urls.js "url1" "url2" ...
start /w "" wscript //nologo urls.vbs "url1" "url2" ...
編集: 2016 年 9 月 21 日
私の解決策が複雑すぎるというコメントがありました。同意しません。JavaScriptソリューション、またはソリューション (両方ではない) を選択するVB Scriptと、実際のコードはそれぞれ約 10 行 (エラー チェック/レポートを削除すると少なくなります) に加えて、定数と変数を初期化するための数行になります。
(JS または VB) を決定したら、そのスクリプトを1 回記述し、次のように、いつでも使用したいとき batchに を渡してからそのスクリプトを呼び出します。URLs
cscript //nologo urls.vbs "bing.com" "google.com" "msn.com" "yahoo.com"
私がこの回答を書いた理由は、次の条件に応じて、一部の人には機能する他のすべての回答が他の人には機能しないためです。
- 「ポップアップを新しいタブで開く」、「現在/新しいウィンドウ/タブで開く」などの現在の Internet Explorer の設定...一般的なブラウジングに適した方法でこれらの設定を既に設定していると仮定すると、ほとんどの人はそれを見つけるでしょう。スクリプトを機能させるために、これらの設定を前後に変更することは望ましくありません。
- それらの動作は、「新しい」リンクが開かれる前にすでに開いている IE ウィンドウがあったかどうかによって、一貫性がありません (可能性があります)。すでに開いている IE ウィンドウ (おそらく多くのタブが開いている) がある場合、すべての新しいタブもそこに追加されます。これは望ましくない場合があります。
私が提供したソリューションにはこれらの問題はなく、IE の設定や既存の IE Windows に関係なく、同じように動作するはずです。(これについて間違っている場合はお知らせください。対処しようとします。)