0
0

logcat取得を自動化したい。

Last updated at Posted at 2024-09-13

logcatでファイルを分けたいがログキャットをクリアし、ファイル名を入力し、ログキャットを止める処理がチョット面倒くさい。。。

なのでそれをなるべく楽にしたいのだが、やりたいことを簡単に書くと

REM ログキャットをクリア
adb logcat -c
REM File名を入力
set /p FleName="Input file name"
REM 入力されたファイル名でlog catを取得
adb logcat > %FleName% + ".txt"

こんな感じである。

これだとlogcat 取得停止時にCtrl Cを押し、その後にコマンドプロンプトからバッチ処理を終了しますか? Y/N でNを押さなくてはいけない。
ちなみにY or N 以外を押さないと押されるまでLOOPする。

なのでそこをスキップさせたいがbatには非同期処理が無いため、adb.exeをkillすればいいのではないかという結論にたどり着いた

完成形

@echo off
adb devices

set /P grep="grepしたいWord:"
set extension=.txt
:loop
REM ユーザーにファイル名を入力させる
set /p filename="ログキャットのファイル名を入力してください:ファイル名(%extension%)"

REM ログキャットをクリアする
echo ログキャットをクリアします...
adb logcat -c

REM ログキャットの取得を開始(バックグラウンドで実行)
echo %filename%.txt にログキャットを保存します...
start /MIN "" cmd /c "adb logcat > %filename%.txt"

REM エンターキーを待機してログ取得を停止
choice /n /c y /m "ログの取得中、、Yキーで終了"
adb kill-server
findstr %word% %filename%.txt

goto loop

これでキーを押すだけで次の入力処理になる

完全自動でやりたければ、ファイル名を時間にして出力すればいい

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0