如何随机化浏览器打开网页

问题描述 投票:0回答:1

我有这个 PowerShell 命令行,通常通过 Google Chrome 打开网页,但我希望使用 Chrome 和 Firefox 随机打开该网页。

start-process -FilePath chrome.exe "www.quora.com"
powershell batch-file
1个回答
1
投票

在 PowerShell 脚本或 PowerShell 控制台窗口中使用的一个 PowerShell 解决方案由 Santiago Squarzon 发布:

start-process -FilePath ('chrome.exe','firefox.exe'|get-random) "https://www.quora.com"

要了解两个使用的 PowerShell cmdlet 及其工作原理,请打开 PowerShell 控制台窗口,执行以下命令,并仔细阅读为这两个 cmdlet 显示的两个帮助页面。

  • help start-process
  • help get-random

一个批处理文件解决方案是:

@echo off
setlocal EnableExtensions DisableDelayedExpansion
set /A "Browser=%RANDOM% & 1"
if %Browser% == 0 (set "Browser=chrome") else set "Browser=firefox"
start "" %Browser%.exe "https://www.quora.com"
endlocal

前两行只是完全定义所需的执行环境,并创建一个新的环境变量列表作为当前环境变量列表的副本,最后一行只是恢复初始执行环境和环境变量列表。如果依赖 Windows 默认值或调用此批处理文件的进程定义的执行环境没有问题,则可以省略第二个和最后一个命令行。

第三行使用算术表达式对随机数应用按位与

1
,以随机分配给环境变量
Browser
0
第三行也可以是:

1

此算术表达式将随机数除以二,并将余数 
set /A Browser=%RANDOM% %% 2

0
分配给环境变量
1
第四行使用 

IF

条件重新定义环境变量 Browser,当前值

Browser
带有字符串
0
,否则带有字符串
chrome
第五行使用命令 

firefox

start
chrome.exe
作为单独的进程启动,其中
firefox.exe
在继续处理批处理文件之前不会等待自我终止,并将 URL 传递给已启动的可执行文件。
cmd.exe
定义一个空字符串作为根本未打开的控制台窗口的可选标题,因为这两个浏览器是具有图形用户界面的 Windows 应用程序。
要了解所使用的命令及其工作原理,请打开

命令提示符

窗口,执行以下命令,并完整、仔细地阅读每个命令显示的帮助页面。

    ""
  • help echo
  • echo /?
  • help endlocal
  • endlocal /?
  • help if
  • if /?
  • help set
  • set /?
  • help setlocal
  • setlocal /?
  • help start
    
    
  • 另请参阅:

    Windows CMD 命令的 A-Z 索引
  • Windows PowerShell 命令的 A-Z 索引
  • Windows CMD Shell 操作指南和示例
  • Windows PowerShell 操作指南和示例
  • “START”在哪里搜索可执行文件?
  • start /?
    也有同样的作用。
    PowerShell
    CMD使用Windows内核库函数CreateProcess来启动ChromeFirefox进程。
© www.soinside.com 2019 - 2024. All rights reserved.