Existe uma maneira de abrir um URL de site a partir de um arquivo de texto que lista mais de 600 URIs por meio de um arquivo de lote?

1

Como eu poderia escrever um script em lotes do Windows que poderia permitir que eu abrisse uma URL, com um navegador - Firefox ou Chrome - de um arquivo txt contendo todos os URIs?

O ponto é: gostaria que o script abrisse o próximo URL somente depois de fechar a guia no último URL.

Eu tenho cerca de 600+ URIs para a tela a olho, e gostaria de facilitar o processo.

    
por corentino 04.04.2015 / 17:17

4 respostas

2

A mesma solução no 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
}
    
por 04.04.2015 / 18:54
1

Se você quiser fechar a janela manualmente e usar um navegador que permita pop-ups do JavaScript, use uma solução JavaScript.

Limitado por políticas de segurança de mesmo domínio, isso precisa de um temporizador feio para ver se a janela filha está fechada enquanto isso.

Observe também que abrir a primeira janela ficará bem, pois isso é (eventualmente) acionado ao clicar no botão "Iniciar". No entanto, janelas subseqüentes abertas pelo JavaScript devem ser bloqueadas por navegadores sadios, portanto, procure pelo aviso "popup bloqueado". Tanto o Chrome quanto o Firefox funcionarão bem; Eles primeiro bloquearão o segundo URL, o que também faz com que o script falhe. Basta aceitar os pop-ups e atualizar a página do JavaScript:

<!DOCTYPE html>
<html>
<head>
  <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script></head><body><textareaid="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>

Exemplo ao vivo: link

    
por 04.04.2015 / 20:16
1

Este não é exatamente o script que eu queria, mas funciona (no Linux, em 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()

Ele cria uma janela do Firefox, abre o URL recebido do txt e aguarda 10 segundos antes de fechar a si mesmo e abrir o próximo URL.

Eu não sei porque, sempre mantém o primeiro URL aberto em uma guia.

Se alguém quiser melhorar, você é bem-vindo:)

    
por 04.04.2015 / 18:26
-1

set / a a = 0

goto: 1

: 1

set / a a =% a% + 1

para / f "tokens =% a% delims =% 1" %% G em ('tipo YourTextFile.txt') do (

inicie %% G

goto: 1

    
por 26.04.2016 / 17:17