バッチファイルでログを取る

会社で他の人にも使ってもらっているツールについて、うまく動かないようだという連絡をもらったので、エラーの内容を確認するためのバッチファイルを用意した。

@echo off

rem 実行する.bat のディレクトリに移動
cd /d %~dp0

set log_file="log.txt"
echo ---------- >> %log_file%

rem %var:~i,j% で var の i 文字目から j 文字目までを抜き出す
rem i は 0 始まり
echo %date% %time:~0,8% >> %log_file%

set host=%COMPUTERNAME%
echo host: %host% >> %log_file%

set user=%USERNAME%
echo user: %user% >> %log_file%
echo ----- >> %log_file%

rem ログを取りたいアプリケーションを実行
rem something.exe >> %log_file%

コマンドプロンプトはテキストのコピペがやりにくかったり、色々とフレンドリーではないよね。

PowerShell は起動が遅いし実行権限の設定を変更しないとスクリプトを実行できなかったり、管理者用という感じの印象。

そういえば、WindowsUbuntu が動くやつ、まだ試したことないのだけれどどうなんだろう。