タイトルにスペースが含まれるコンソール ウィンドウで taskkill を実行しようとしています。このウィンドウ タイトルを taskkill に渡すにはどうすればよいですか。私は次のことを試しました:
taskkill /fi "WINDOWTITLE eq Administrator: My Window Title"
タイトルにスペースが含まれるコンソール ウィンドウで taskkill を実行しようとしています。このウィンドウ タイトルを taskkill に渡すにはどうすればよいですか。私は次のことを試しました:
taskkill /fi "WINDOWTITLE eq Administrator: My Window Title"
私は同様の問題を抱えていましたが、もう少し知りました。
独自のウィンドウ タイトルを設定した CMD ウィンドウ (管理者として実行) を閉じようとしています。したがって、CMD を管理者として実行し、次のように入力します。
title CMD with custom title
いろいろいじった後、次のコマンドは、ウィンドウのタイトルを設定すると、タイトルの前に先頭のスペースを置くことを示しました! (理由はわかりません。)
c:\>tasklist /V /FI "WindowTitle eq Administrator*"
Image Name PID Session Name Session# Mem Usage Status User Name CPU Time Window Title
========== ==== ============ ======== ========= ======= =============== ======== =====================================
cmd.exe 4304 Console 1 2,492 K Running MACHINE\My Name 0:00:00 Administrator: CMD with custom title
(scroll ) extra space
したがって、プロセスを強制終了するには:
taskkill /F /FI "WindowTitle eq Administrator: CMD with custom title" /T
bingo
/F
- 力を使います。/T
- 子プロセスを殺します。同様の方法で頭をぶつけている場合は、 を使用tasklist
してプロセス プロパティ内を調べて、フィルターが正しく設定されていることを確認することをお勧めします。Windows 8 によってもたらされたこの問題。
注:タイトルに引用符が含まれている場合は、ネストされたものをエスケープするだけです。
title "CMD with custom title"
taskkill /F /FI "WindowTitle eq Administrator: \"CMD with custom title\"" /T
このタスクは Windows サーバーで実行されると思います。タイトルに「Administrator :」が含まれている場合、WindowTitle でタスクを強制終了することはできません。
これを使用する必要があります: これは私の killer.bat です。SEARCH_PARAMETER = 殺したいタイトル
@echo off
for /f "tokens=2 delims=," %%a in ('
tasklist /fi "imagename eq cmd.exe" /v /fo:csv /nh
^| findstr /r /c:".*SEARCH_PARAMETER[^,]*$" ') do taskkill /pid %%a
私は AutoIt を使用してコマンド シェル ウィンドウを起動していましたが、タスクリストの使用に関するヒントは本当に役に立ちました。すでに二重スペースを試しましたが、AutoIt の Run() コマンドは、タスクリスト/タスクキルがウィンドウ タイトルを認識できない方法で cmd.exe シェルを作成しました。
cmd プロンプトのウィンドウ タイトルでループまたは AutoIt の WinKill()/WinClose() を使用すると、AutoIt 自体はウィンドウを閉じることができますが、cmd プロンプトのバット ファイルは c:\windows\system32\cmd しかウィンドウ タイトルとして認識しませんでした。
この場合、バッチ スクリプトからではなく、AutoIt を使用してウィンドウを強制終了することができました。