首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >批处理文件以确定IE中的网站

批处理文件以确定IE中的网站
EN

Stack Overflow用户
提问于 2018-07-24 08:34:25
回答 1查看 118关注 0票数 1

是否有一段代码可以在批处理文件中使用,以确定首先IE是否打开,如果是,哪些网站在选项卡中打开?

我需要强制关闭IE当用户锁定他们的电脑,如果一个特定的网站是开放的。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-24 09:49:44

尝试一下这个批处理文件:

代码语言:javascript
复制
@echo off
Title Checking Running Process and Get their command lines
setlocal enabledelayedexpansion
Mode 90,25 & color 0A
Set "ProcessName=iexplore.exe"
Set "String2Search=facebook"
Call :CheckRunning !ProcessName!
If /I "%flag%"=="True" (
    color 0A
    echo %flag%
    Call :GetCommandLine !ProcessName!
    echo(
    Call :CheckString_in_URL "%String2Search%"
) else (
    color 0C
    echo %flag%
    echo !ProcessName! is not running !
    pause>nul & exit
)
Exit
::********************************************************************************************************
:CheckRunning <ProcessName>
Set "ProcessName=%1"
tasklist /NH /FI "imagename eq %ProcessName%" 2>nul |find /i "%ProcessName%" >nul
If not errorlevel 1 ( Set "flag=True" ) else ( Set "flag=False" )
Exit /b 
::********************************************************************************************************
:GetCommandLine <ProcessName>
Set "ProcessCmd="
for /f "tokens=2 delims==" %%P in ('wmic process where caption^="%~1" get commandline /format:value ^| findstr /I "%~1" ^| find /I /V "%~nx0" 2^>nul') do (
    Set "ProcessCmd=%%P"
    echo !ProcessCmd!
)
Exit /b
::******************************************************************************************************
:Kill <ProcessName>
Taskkill /IM "%~1" /F>nul 2>&1
Exit /b
::******************************************************************************************************
:CheckString_in_URL <String2Search>
set "String2Search=%~1"
(
echo Set objFso = CreateObject^("Scripting.FileSystemObject"^)    
echo Set colShWindows = CreateObject^("shell.application"^).Windows
echo For Each w In colShWindows
echo    If objFso.GetFileName^(LCase^(w.FullName^)^) = "iexplore.exe" Then
echo        WScript.Echo w.LocationURL
echo    End If
echo Next
)>"%Temp%\iexplore_tabs.vbs"

setlocal EnableDelayedExpansion
for /f %%a in ('cscript //nologo "%Temp%\iexplore_tabs.vbs"') do (
    set /a index+=1
    set "URL[!index!]=%%a"
)

for /L %%i in (1,1,%index%) do (
    echo !URL[%%i]! | find /I "%String2Search%">nul && ( 
        echo Found this string "%String2Search%" in the URL "!URL[%%i]!"
        echo(
        echo Did you want to kill this process "!ProcessName!" Y/N ?
        Set /p "Answer="
            If /I "!Answer!"=="Y" ( Call :Kill "!ProcessName!" ) else ( exit )
        ) || (
            echo No string like "%String2Search%" found in "!URL[%%i]!"
            Timeout /T 5 /nobreak>nul
        )
)
exit /b 
::******************************************************************************************************

我很感激aGerman给了我https://www.dostips.com/forum/viewtopic.php?p=57574#p57574的想法

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51494059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档