Vous pouvez utiliser l'une de ces deux scripts pour ouvrir les URL dans des onglets séparés dans un (unique) nouvelle fenêtre Internet Explorer . Vous pouvez appeler l'un de ces scripts à partir de votre script batch (ou à l'invite de commande):
JavaScript
Créez un fichier avec un nom comme: "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 Script
Créez un fichier avec un nom comme: "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
Une fois que vous décidez sur "JavaScript" ou "VB Script", vous avez quelques choix:
Si vos URL sont statiques:
1) Vous pouvez écrire le fichier de script "JS/VBS" (ci-dessus), puis appelez-le simplement à partir d'un script batch.
dans le script batch (ou invite de commande), appelez le "JS/VBS" script comme ceci:
cscript //nologo urls.vbs
cscript //nologo urls.js
Si les URL changent rarement:
2) Vous pourrait avoir le script de traitement par lots écrire le script "JS/VBS" à la volée, puis l'appeler.
Si les URL peuvent être différentes à chaque fois:
3) Utilisez le "JS/VBS" scripts (ci-dessous) et de transmettre les URL des pages pour ouvrir comme arguments de ligne de commande:
JavaScript
Créez un fichier avec un nom tel que: "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 Script
Créer un fichier avec un nom comme: "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
Si le script est appelé sans tous les paramètres, ils renverront %errorlevel%=1
, sinon ils reviendront n %errorlevel%=0
. Aucune vérification n'est effectuée concernant la «validité» ou la «disponibilité» de l'une des URL.
dans le script batch (ou invite de commande), appelez le "JS/VBS" script comme ceci:
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/"
OU même:
cscript //nologo urls.js "bing.com" "google.com" "msn.com" "yahoo.com"
cscript //nologo urls.vbs "bing.com" "google.com" "msn.com" "yahoo.com"
Si pour une raison quelconque, vous vouliez les exécuter avec "wscript" à la place, n'oubliez pas d'utiliser "start/w" pour que les codes de sortie (% errorlevel%) soient retournés à votre script batch:
start /w "" wscript //nologo urls.js "url1" "url2" ...
start /w "" wscript //nologo urls.vbs "url1" "url2" ...
Edit: 21-Sep-2016
Il y a eu un commentaire que ma solution est trop compliquée. Je ne suis pas d'accord. Vous choisissez la solution JavaScript
, ou la solution VB Script
(pas les deux), et chacun est seulement d'environ 10 lignes de code réel (moins si vous éliminez la vérification/rapport d'erreurs), ainsi que quelques lignes pour initialiser les constantes et les variables .
Une fois que vous avez décidé (JS ou VB), vous écrivez ce script une fois, puis vous appelez ce script à partir batch
, en passant le URLs
, chaque fois que vous voulez l'utiliser, comme:
cscript //nologo urls.vbs "bing.com" "google.com" "msn.com" "yahoo.com"
La raison pour laquelle je l'ai écrit cette réponse, est parce que toutes les autres réponses, qui travaillent pour certaines personnes, ne manqueront pas de travailler pour les autres, en fonction de:
- les paramètres actuels d'Internet Explorer pour « popups ouvrir dans une nouvelle ta b "," ouvrir dans current/new window/tab ", etc ... En supposant que vous ayez déjà défini ces réglages comme vous les aimez pour la navigation générale, la plupart des gens trouveraient indésirable d'avoir à changer ces paramètres avant et en arrière pour faites fonctionner le script.
- Leur comportement est (peut être) incohérent selon qu'il y avait ou non une fenêtre IE déjà ouverte avant l'ouverture des "nouveaux" liens. Si une fenêtre IE (peut-être avec plusieurs onglets ouverts) était déjà ouverte, tous les nouveaux onglets y seraient également ajoutés. Cela pourrait ne pas être désiré.
La solution fournie ne présente pas ces problèmes et devrait se comporter de la même manière, quels que soient les paramètres IE ou les fenêtres IE Windows existantes. (S'il vous plaît laissez-moi savoir si je me trompe à ce sujet et je vais essayer d'y remédier.)
En outre, je pense que si vous utilisez juste cette
début http://www.google.com commencer http://www.yahoo.com
vous permettra au système de choisir le navigateur favori pour les ouvrir. (BTW, avez-vous préféré le navigateur à deux onglets/one ou le soln de deux fenêtres?) –
Hmmm ... devinez commentaires n'aiment pas HTML ... –
voir: https://stackoverflow.com/questions/26099153/open-tabs-in-internet-explorer-with-cmd/45808976#45808976 – vafylec