[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 请教如何获得指定CMD窗口的标题

需要获得窗口标题中详细内容

  1. @echo off
  2. for /f "tokens=10* delims= " %%1 in ('tasklist /v^|findstr /i "notepad"')do echo %%1 %%2
  3. pause
复制代码

TOP

回复 2# Nsqs
好办法,学习了
另外为什么管道后不是find“cmd” ?

TOP

回复 3# taofan712


    因为楼主的需求是:获得CMD标题

TOP

回复 4# GNU

正因为是cmd的标题,所以才应该find /i "cmd.exe",因为楼主的cmd已经在运行了啊。这里好像不该find “notepad”

TOP

回复 5# taofan712


    修改notepad为cmd即可

TOP

回复 6# Nsqs
谢谢,你还有其他方法获得标题吗,我想了很久没想出来。 (这个办法已经很好了,只是要去数tokens是第几节。。。)

TOP

回复 7# taofan712
  1. ' 2>nul&cls&cscript -nologo -e:"vbs" "%~0"&pause&exit
  2. set word=createobject("Word.Application")
  3. set tasks=word.tasks
  4. for each i in tasks
  5. if instr(lcase(i.name),"cmd")>0 then
  6. wsh.echo i.name
  7. end if
  8. next
  9. Word.Quit
  10. set word=nothing
  11. set tasks=nothing
复制代码
2

评分人数

TOP

回复 8# Nsqs

谢谢回复!
你好,现在问题是批处理下载已经在执行了,CMD窗口标题上的内容在不断变化,怎么实时去获得这个窗口标题。

TOP

title download
C:\youtubedl.exe --continue -f mp4 --no-part --console-title  "https://www.youtube.com/watch?v=NVLYdkJRUR0" -o "C:\1\555.mp4"

我的步骤是先改变窗口标题为download,然后执行下载,然后再通过另外个批处理
@echo off
for /f "tokens=10* delims= " %%1 in ('tasklist /v^|findstr /i "notepad"')do echo %%1 %%2
来获得标题,可是这样获得了2个窗口的标题,如何只获得download窗口的标题。

TOP

本帖最后由 Nsqs 于 2017-2-27 15:01 编辑

回复 10# ebase9
  1. @echo off
  2. for /f "tokens=2 delims= " %%1 in ('tasklist /v^|findstr /i "download"')do set pid=%%1
  3. :a
  4. for /f "tokens=10* delims= " %%1 in ('tasklist /v^|findstr /i "%pid%"')do echo %%1 %%2
  5. goto a
复制代码
标题为download的bat加一个延迟否则捕获不到download
  1. title download
  2. ping /n 5 127.0.0.1>nul
复制代码
2

评分人数

TOP

返回列表