有没有办法通过批处理文件从列出 600 多个 URI 的文本文件中打开网站 URL?

有没有办法通过批处理文件从列出 600 多个 URI 的文本文件中打开网站 URL?

我如何编写一个 Windows 批处理脚本,使我能够使用浏览器(Firefox 或 Chrome)从包含所有 URI 的 txt 文件中打开 URL?

重点是:我希望脚本仅在我关闭了上一个 URL 的选项卡后才打开下一个 URL。

我有大约 600 多个 URI 需要通过肉眼筛查,我想简化这个过程。

答案1

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
}

答案2

如果您想手动关闭窗口,并且您使用的浏览器允许 JavaScript 弹出窗口,那么您可以使用 JavaScript 解决方案。

受同域安全策略的限制,这需要一个丑陋的计时器来查看子窗口是否同时关闭。

还要注意,打开第一个窗口是没问题的,因为它(最终)是由您单击“开始”按钮触发的。但是,JavaScript 打开的后续窗口应该被正常的浏览器阻止,因此请留意“弹出窗口被阻止”警告。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/

答案3

这不是我想要的脚本,但它可以完成工作(在 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 窗口,打开从 txt 收到的 URL,等待 10 秒,然后关闭自身并打开下一个 URL。

我不知道为什么,它总是保留选项卡中打开的第一个 URL。

如果有人想改进,欢迎你:)

答案4

设置/aa=0

转到:1

:1

设置/aa=%a%+1

对于/f“tokens =%a%delims =%1”%% G在('type YourTextFile.txt')中执行(

开始 %%G

转到:1

相关内容