1

Как я мог написать пакетный скрипт Windows, который позволял бы мне открывать URL с помощью браузера - Firefox или Chrome - из текстового файла, содержащего все URI?

Дело в том, что я хотел бы, чтобы скрипт открывал следующий URL только после того, как закрыл вкладку с последнего URL.

У меня есть около 600+ URI для просмотра на глаз, и я хотел бы облегчить процесс.

4 ответа4

2

То же решение в PowerShell:

$urllist = Get-Content C:\temp\listeurl.txt
foreach($url in $urllist)
{
    $proc = start-process "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -argumentlist $url -PassThru
    start-sleep -seconds 10
    stop-process $proc -force -erroraction silentlycontinue
}
1

Это не совсем тот сценарий, который я хотел, но он выполняет свою работу (в Linux, в Python):

import subprocess as sp
import webbrowser
import time

f = open('listeurl.txt','r')
urls = f.readlines()
for url in urls:
    child = sp.Popen(["firefox", url ])
    time.sleep(10)  
    child.kill()

Он создает окно Firefox, открывает URL-адрес, полученный из txt, и ждет 10 секунд, прежде чем закрыться и открыть следующий URL.

Я не знаю почему, он всегда держит первый URL-адрес открытым во вкладке.

Если кто-то хочет улучшить, пожалуйста

1

Если вы хотите закрыть окно вручную, и если вы используете браузер, который позволяет всплывающие окна из JavaScript, то вы можете использовать решение JavaScript.

Ограниченный политиками безопасности того же домена, для этого нужен ужасный таймер, чтобы увидеть, закрыто ли пока дочернее окно.

Также обратите внимание, что открытие первого окна будет в порядке, так как оно (в конечном итоге) вызывается нажатием кнопки "Пуск". Однако последующие окна, открытые JavaScript, должны быть заблокированы здравомыслящими браузерами, так что ищите это предупреждение "popup заблокирован". И Chrome, и Firefox будут в порядке; они сначала заблокируют второй URL, что также приводит к сбою скрипта. Просто примите всплывающие окна и затем обновите страницу JavaScript:

<!DOCTYPE html>
<html>
<head>
  <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
</head>
<body>
  <textarea id="urls"></textarea>
  <button id="start">Start</button>
</body>
<script>
function openUrl(urls){
  if(urls.length > 0){
    var url = urls.shift().trim();
    if(!url){
      openUrl(urls);
      return;
    }
    var w = window.open(url);
    var timer = setInterval(function(){   
      if(w.closed){  
        clearInterval(timer);  
        openUrl(urls);
      }
    }, 500);
  }
  else{
    alert("That's all");
  }
}

$("#start").on("click", function(){
  openUrl($("#urls").val().split("\n"));
});
</script>
</html>

Живой пример: http://jsbin.com/loweyocofu/1/

-1

set / aa = 0

Перейти:1

:1

set / aa =% a%+1

for /f "tokens =% a% delims =% 1" %% G in ('type YourTextFile.txt') do (

начало %% G

)

Перейти:1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .