如何使用 .bat 文件打开新的 Chrome 标签页?

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

我一直在使用下面的脚本(链接已更改)来打开、调整大小和移动屏幕上的两个 IE 标签。我试着在ChromeFirefox上改编同样的脚本,但我缺少了一些东西,我既不能在新的标签页中打开两个页面,也不能移动窗口的大小。

<# :
@echo off
setlocal
cls
set "POWERSHELL_BAT_ARGS=%*"
if defined POWERSHELL_BAT_ARGS set "POWERSHELL_BAT_ARGS=%POWERSHELL_BAT_ARGS:"=\"%"
endlocal & powershell -NoLogo -NoProfile -Command "$_ = $input; Invoke-Expression $( '$input = $_; $_ = \"\"; $args = @( &{ $args } %POWERSHELL_BAT_ARGS% );' + [String]::Join( [char]10, $( Get-Content \"%~f0\" ) ) )"
goto :EOF
#>

Add-Type @"
    using System;
    using System.Runtime.InteropServices;

    public class Win32 { 
        [DllImport("user32.dll")]
        [return: MarshalAs(UnmanagedType.Bool)]
        public static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);
    }
"@

Function MoveAndResize ($browser)
{

    Switch($browser){
        WINDOW1{
            $browser_path="C:\Program Files\Internet Explorer\IEXPLORE.EXE"
            $url = "https://www.google.com/" 
            $pos_x = 0
            $pos_y = 0
            $window_x = 975
            $window_y = 1080
            break
        }
        WINDOW2{
            $browser_path="C:\Program Files\Internet Explorer\IEXPLORE.EXE"
            $url = "https://www.bing.com/"
            $pos_x = 960
            $pos_y = 0
            $window_x = 975
            $window_y = 1080
            break
        }
        default {continue}
    }

    Start-Process $browser_path $url
    Start-Sleep -S 1

    $browser = (Get-Process | where {$_.Path -eq $browser_path}).MainWindowHandle

    [Win32]::MoveWindow($browser, $pos_x, $pos_y, $window_x, $window_y, $true)
}

MoveAndResize "WINDOW1"
MoveAndResize "WINDOW2"

由于我不是一个高手,而且这超出了我的批处理知识范围,我有以下问题:是否有任何重做的代码或任何提示来让它工作?有什么代码可以去掉,让它变得更小?如何让它在新的标签页中打开页面?

windows batch-file
1个回答
1
投票

在任何浏览器中轻松打开新标签的最佳方式。

START "<ApplicationName>" <URL>

将应用程序名称留空将打开默认浏览器。

希望这能帮到你。

© www.soinside.com 2019 - 2024. All rights reserved.