Board logo

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

作者: ebase9    时间: 2017-2-27 02:53     标题: 请教如何获得指定CMD窗口的标题

需要获得窗口标题中详细内容
作者: Nsqs    时间: 2017-2-27 09:33

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

作者: taofan712    时间: 2017-2-27 11:02

回复 2# Nsqs
好办法,学习了
另外为什么管道后不是find“cmd” ?
作者: GNU    时间: 2017-2-27 11:19

回复 3# taofan712


    因为楼主的需求是:获得CMD标题
作者: taofan712    时间: 2017-2-27 11:36

回复 4# GNU

正因为是cmd的标题,所以才应该find /i "cmd.exe",因为楼主的cmd已经在运行了啊。这里好像不该find “notepad”
作者: Nsqs    时间: 2017-2-27 12:00

回复 5# taofan712


    修改notepad为cmd即可
作者: taofan712    时间: 2017-2-27 12:02

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

回复 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
复制代码

作者: ebase9    时间: 2017-2-27 14:19

回复 8# Nsqs

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

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窗口的标题。
作者: Nsqs    时间: 2017-2-27 14:47

本帖最后由 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
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2