【发布时间】:2015-10-20 14:51:16
【问题描述】:
批处理文件的新手,但到目前为止已经设法让一些方便的工具工作。但我现在被困在我教的一些微不足道的东西上。
我现在正在开发一种工具,该工具需要知道 Windows 文件资源管理器打开了什么。我看过了,我遇到的所有示例都是关于打开目录或列出指定目录的内容。我为我正在尝试做的事情找到的最接近的例子是更高级别的语言。
【问题讨论】:
标签: batch-file window
批处理文件的新手,但到目前为止已经设法让一些方便的工具工作。但我现在被困在我教的一些微不足道的东西上。
我现在正在开发一种工具,该工具需要知道 Windows 文件资源管理器打开了什么。我看过了,我遇到的所有示例都是关于打开目录或列出指定目录的内容。我为我正在尝试做的事情找到的最接近的例子是更高级别的语言。
【问题讨论】:
标签: batch-file 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
要列出所有打开的资源管理器窗口,您必须使用 cmdow 实用程序:
for /f "tokens=8*" %%a in ('cmdow /t /b') do if %%a==explorer echo %%b
【讨论】:
| 分隔的行中的标记,并将窗口标题放入%%b。