gpt4 book ai didi

batch-file - 批处理文件 - TASKKILL/FI "WINDOW TITLE ..."不起作用

转载 作者:行者123 更新时间:2023-12-03 16:28:50 27 4
gpt4 key购买 nike

我正在尝试制作一个批处理文件:

  • 启动 Internet Explorer
  • 等待 Internet Explorer 将本地 .html 文件加载到其 Web 浏览器中
  • 等待弹出窗口加载
  • 关闭在步骤 1 中打开的资源管理器窗口(不影响之前打开的任何网页)
  • 自行关闭

  • 除了使用下面显示的批处理文件的第 4 步之外,我已经完成了所有操作。
    cd "C:\Program Files\internet explorer"
    start "CloseMe" iexplore.exe "file://C:\ProgramData\Schneider Electric\Citect SCADA 2016\User\1173051_SM_STP\Files\Stony Mountain Institute Lift Station.html"
    TIMEOUT 3 & REM Waits 3
    TASKKILL /IM iexplore.exe /FI "WINDOWTITLE eq CloseMe - Internet Explorer"
    exit

    如果我注释掉 exit 命令并跳过第 5 步,我可以看到我收到的错误消息。这是信息:没有任务在指定条件下运行。

    我运行了这个命令(感谢 aschipfl)& 看起来我的窗口标题没有正确设置为 CloseMe。
    C:\ProgramData\Schneider Electric\Citect SCADA 2016\User\1173051_SM_STP\Files>tasklist /FI "IMAGENAME eq iexplore.exe" /v

    Image Name PID Session Name Session# Mem Usage Status User Name CPU Time Window Title
    ========================= ======== ================ =========== ============ =============== ================================================== ============ ========================================================================
    iexplore.exe 18076 Console 1 36,300 K Running STONY-STP\Operator 0:00:00 MultiSmart - Internet Explorer
    iexplore.exe 15864 Console 1 40,448 K Running STONY-STP\Operator 0:00:00 N/A
    iexplore.exe 18072 Console 1 155,600 K Running STONY-STP\Operator 0:00:06 N/A

    C:\ProgramData\Schneider Electric\Citect SCADA 2016\User\1173051_SM_STP\Files>

    我在两个地方将窗口标题设置为 CloseMe。
  • 在批处理文件的第二行(向上滚动)
  • 在 .html 文件中(见下文)
    <title>CloseMe</title>  
    <BODY onLoad="popup('http://192.168.0.10/config.htm', 'Stony Mountain Institute Lift Station')">

    <SCRIPT TYPE="text/javascript">
    function popup(mylink, windowname) {
    if (! window.focus)return true;
    var href;
    if (typeof(mylink) == 'string') href=mylink;
    else href=mylink.href;
    window.open(href, windowname, 'width=800,height=480,scrollbars=no');
    //self.close();
    return false;
    }
    </SCRIPT>
  • 最佳答案

    Internet Explorer 从内部当前事件的选项卡的标题派生其主窗口标题。

    所以你会看到 Window Title在任务列表的输出中,基于当前在 Internet Explorer 中处于事件状态的选项卡的标题。

    从 Internet Explorer 7 开始,这是第一个带标签浏览的版本,不可能杀死 的实例。 iexplorer.exe 不影响其他标签。单个 iexplorer.exe 实例可以托管多个窗口或选项卡,因此杀死该实例将破坏它托管的所有选项卡或页面。

    因此,让我们假设您想要的标签为 CloseMe恰好是事件选项卡,因此可以通过 taskkill 找到它和 tasklist ,然后 TASKKILL /IM iexplore.exe /FI "WINDOWTITLE eq CloseMe - Internet Explorer"iexplore.exe的主窗口发送终止信号

    在默认配置中,Internet Explorer 总是询问您是要关闭当前选项卡还是关闭所有选项卡,因此用户可以选择仅关闭当前选项卡。但这需要用户的交互,而且可能不是您最初想要的。

    另一种很常见的可能性是 Internet Explorer 配置为始终不询问就关闭所有选项卡。这本质上等同于杀死 Internet Explorer 的所有实例,因此通过 WINDOWTITLE 过滤没有意义。在 taskkill .您可以使用 TASKKILL /IM iexplore.exe具有相同的效果,但成功率为 100%。

    为此,您需要一个实用程序来发送 CLOSE消息到所需的窗口只是关闭特定的窗口而不是整个过程。

    Windows 没有这样做的内置工具,但如果您可以使用第三方工具,那么 NirCmd是你所需要的全部。
    nircmdc.exe win child process "iexplore.exe" child class "Frame Tab" close ititle "CloseMe"
    在带有 Internet Explorer 11 的 Windows 7 x64 上测试

    关于batch-file - 批处理文件 - TASKKILL/FI "WINDOW TITLE ..."不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51253085/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com