tasklistが標準エラー出力してくれない
tasklistコマンドはCSV形式に対応している。プロセスのフィルタリングもできる。
D:\>tasklist /fo csv /nh /fi "IMAGENAME eq NOTEPAD.EXE" "notepad.exe","1572","Console","1","10,924 K" "notepad.exe","2772","Console","1","10,912 K"
しかし、エラーも一緒に標準出力する。
D:\>tasklist /fo csv /nh /fi "IMAGENAME eq NOEXISTIMAGE.EXE" 情報: 指定された条件に一致するタスクは実行されていません。 D:\>tasklist /fo csv /nh /fi "IMAGENAME eq NOEXISTIMAGE.EXE" 2>NUL 情報: 指定された条件に一致するタスクは実行されていません。
このあらいを作ったのは誰だあっ!
ちなみに
wmicの出力も微妙だったりする。
D:\work>wmic process where caption="notepad.exe" get caption /format:csv Node,Caption PCNAME,notepad.exe PCNAME,notepad.exe
ヘッダ消せないし、というかその前に空行が入ってるし……。
D:\work>wmic process where caption="noexistsimage.exe" get caption /format:csv 利用できるインスタンスがありません。 Node, D:\work>wmic process where caption="noexistsimage.exe" get caption /format:csv 2>NUL Node,
こちらはエラーを標準出力したりしない。もっとも、検索結果がゼロだとエラーになること自体納得できないが。