3

最初の投稿。

開いているウィンドウのウィンドウタイトルを確認するバッチファイルを作成しています。それらが必要なものと一致しない場合は、それらを閉じて再度開きます。(主な理由は、「ページを読み込めない」場合にブラウザを自動的に再起動するためです)。

私の問題はここにあります...

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 のキャメロット王国 - Mozilla Firefox」と比較します。

私にとって大きな迷惑は、Facebook の通知/友達リクエスト/メッセージを受け取るたびに、タイトル バーが (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) などを表しますが、どちらも機能しません....

何か案は?完全無欠のノブを目指してください。

4

2 に答える 2

5

試してみませんか

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

同じアプローチを使用して、同じウィンドウ タイトル プレフィックスを持つプロセスの pid を取得していますが、これは機能します。

PS: tasklist コマンドについてテストしたところ、ワイルドカード構文が認識されませんでした。

于 2012-03-30T13:49:19.680 に答える
-1

これは機能します。バッチ ファイルで使用するには、キャレット ( ^)を追加します。

tasklist /fi "imagename eq firefox.exe" /v ^| find /i "Kingdoms of Camelot on Facebook - Mozilla Firefox" 2>NUL
于 2013-05-11T01:58:59.307 に答える