batch-file - 为什么我不能在 TASKLIST/FI "WINDOWTITLE"函数/过滤器中使用通配符?

标签 batch-file window title tasklist

第一篇文章。

我正在编写一个批处理文件来检查打开的窗口的窗口标题,如果它们与我想要的不匹配,则关闭它们并重新打开它们。 (主要原因是如果“无法加载页面”,则自动重启浏览器)。

我的问题出在这里...

tasklist /FI "WINDOWTITLE eq Kingdoms of Camelot on Facebook - Mozilla Firefox"2>NUL | find /I /N "firefox.exe"2>NUL
    if "%ERRORLEVEL%"=="0" goto runningfire
    if "%ERRORLEVEL%"=="1" goto notrunningfire

这会检查打开的窗口并将它们的标题与 Facebook 上的“Kingdoms of Camelot - Mozilla Firefox”进行比较。效果很好,直到!!!

对我来说主要的烦恼是每当你收到 facebook 通知/ friend 请求/消息时,它会将标题栏更改为 (1) Kingdoms..... 然后脚本不起作用。

我在这上面花了 AGES,主要是因为我在这方面非常新手,而且我对批处理文件和脚本知之甚少。

所以我的问题是...

是否可以有效地在标题要求的开头添加通配符...(注意标题前面的*)

tasklist /FI "WINDOWTITLE eq *Kingdoms of Camelot on Facebook - Mozilla Firefox"2>NUL | find /I /N "firefox.exe"2>NUL | find /I "[6]"2>NUL
    if "%ERRORLEVEL%"=="0" goto runningfire
    if "%ERRORLEVEL%"=="1" goto notrunningfire

这是显而易见的解决方案,但它根本不起作用,返回错误:无法识别搜索过滤器。

我也试过 3 ???代表 (1) 和 (2) 等,但它们也不起作用....

有什么想法吗?请将它瞄准一个完全的菜鸟。

最佳答案

你为什么不试试

tasklist /fi "imagename eq firefox.exe" /v | find /i "Kingdoms of Camelot on Facebook - Mozilla Firefox" 2>NUL
if ....

我使用相同的方法来获取具有相同窗口标题前缀的进程的 pid,并且它有效。

PS:根据我对 tasklist 命令的测试,它无法识别通配符语法

关于batch-file - 为什么我不能在 TASKLIST/FI "WINDOWTITLE"函数/过滤器中使用通配符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9166703/

相关文章:

jquery - 动态容器高度 (jQuery)

javascript - 在 PHP 中使用 javascript 更改页面标题 'if'

WordPress wp_title 索引页上为空白

python - Windows 任务计划程序不允许 python subprocess.popen

android模拟器不会在窗口中打开

c - SDL 图像显示速度比预期慢

python - PyQt4:如何在修改时更改子窗口的标题

java - 如何通过命令行向服务器发出命令

shell - 是否可以在命令提示符中创建带有多个选项卡的 CSV 文件?

java - 是否可以以 "batch"方式在 Java 中执行 Windows 命令?即一个接一个但坚持不懈?