Batch file 使用批处理文件获取所有打开窗口的列表
新的批处理文件,但到目前为止,已经设法得到一些方便的工具工作。但我现在被我教的一些琐碎的东西卡住了Batch file 使用批处理文件获取所有打开窗口的列表,batch-file,window,Batch File,Window,新的批处理文件,但到目前为止,已经设法得到一些方便的工具工作。但我现在被我教的一些琐碎的东西卡住了 我现在正在开发一个工具,需要知道windows文件资源管理器打开了什么。我已经看过了,我遇到的所有示例都是关于打开目录或列出指定目录的内容的。我所找到的最接近我正在尝试做的事情的例子是在更高级的语言中 这将只列出最后一个活动的资源管理器窗口: @echo off setlocal enableDelayedExpansion for /f "skip=1 delims=" %%a in ('tas
我现在正在开发一个工具,需要知道windows文件资源管理器打开了什么。我已经看过了,我遇到的所有示例都是关于打开目录或列出指定目录的内容的。我所找到的最接近我正在尝试做的事情的例子是在更高级的语言中 这将只列出最后一个活动的资源管理器窗口:
@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
要列出所有打开的资源管理器窗口,必须使用实用程序:
只是想了解第一段代码。如果运气不好,我会使用cmdow。第一个循环按行读取任务列表的输出,然后用另一个分隔符替换csv分隔符“,”为每行进行解析做好准备,以便提取我们需要的标记,然后去掉开头和结尾引号。第二个循环现在可以看到由
|
分隔的行中的代币,它将窗口标题放入%%b。干杯,伙计,你真的知道你的批次。我将给您选择的答案,因为我可能最终会使用cmdow。当然,在我把头撞在砖墙上一段时间后。谁说固执不是好品质:)
for /f "tokens=8*" %%a in ('cmdow /t /b') do if %%a==explorer echo %%b