使用批处理文件获取所有打开的列表 windows

Get a list of all open windows using a batch file

批处理文件的新手,但到目前为止已经设法让一些方便的工具工作。但是我现在被困在我教过的一些微不足道的事情上。

我现在正在开发一个工具,它需要知道 windows 文件资源管理器打开了什么。我看了一下,我遇到的所有示例都是关于打开目录或列出指定目录的内容。我为我正在尝试做的事情找到的最接近的例子是高级语言。

这只会列出最后一个活动的资源管理器 window:

@echo off
setlocal enableDelayedExpansion
for /f "skip=1 delims=" %%a in ('tasklist /fi "imagename eq explorer.exe" /v /fo:csv') do (
    set "info=%%a" & set "info=!info:","=^|!" & set info=!info:~1,-1!
    for /f "delims=| tokens=9" %%b in ("!info!") do if not "%%b"=="N/A" echo %%b
)
pause

要列出所有打开的资源管理器 windows,您必须使用 cmdow 实用程序:

for /f "tokens=8*" %%a in ('cmdow /t /b') do if %%a==explorer echo %%b