cloudwatchのAWSコンソール画面でログ検索をする時、
毎度開いては、日時を絞り込むのが面倒なときがあります。
↓を windowsの.batで保存&開けば、
アクセスした日の 00:00:00~23:59:59 で絞り込んだ状態で開いてくれます。
@echo off
:: PowerShellでJST(UTC+9)のUNIXタイムスタンプを取得
for /f %%t in (‘powershell -command “[int](New-TimeSpan -Start (Get-Date -Date ‘1970-01-01T00:00:00Z’) -End (Get-Date).ToUniversalTime()).TotalSeconds + 32400″‘) do set timestamp=%%t
echo %timestamp%
:: WMIC でローカル日時を取得
for /f “tokens=2 delims==” %%I in (‘wmic os get localdatetime /value’) do set datetime=%%I
:: 取得した日時から年、月、日を設定
set year=%datetime:~0,4%
set month=%datetime:~4,2%
set day=%datetime:~6,2%
:: 変数の内容を確認(デバッグ用)
echo Year: %year%
echo Month: %month%
echo Day: %day%
:: 年、月、日を文字列として結合
set datetime=%year%-%month%-%day%T00:00:00
:: JST 0:00:00 のUNIXタイムスタンプを取得(JSTに合わせて調整)
for /f %%t in (‘powershell -command “[int](New-TimeSpan -Start (Get-Date ‘1970-01-01T00:00:00Z’) -End (Get-Date ‘%datetime%’).AddHours(9).ToUniversalTime()).TotalSeconds”‘) do set starttimestamp=%%t
set datetimeend=%year%-%month%-%day%T23:59:59
:: JST 23:59:59 のUNIXタイムスタンプを取得(JSTに合わせて調整)
for /f %%t in (‘powershell -command “[int](New-TimeSpan -Start (Get-Date ‘1970-01-01T00:00:00Z’) -End (Get-Date ‘%datetimeend%’).AddHours(9).ToUniversalTime()).TotalSeconds”‘) do set endtimestamp=%%t
:: JSTでのスタートとエンドタイムスタンプを表示
echo Start Timestamp: %starttimestamp%
echo End Timestamp: %endtimestamp%
:: 結果の表示(000を付け加え)
set starttimestamp=%starttimestamp: =%
set endtimestamp=%endtimestamp: =%
set starttimestamp=%starttimestamp%000
set endtimestamp=%endtimestamp%000
:: JSTで000を付けたタイムスタンプ表示
echo Start Timestamp with 000: %starttimestamp%
echo End Timestamp with 000: %endtimestamp%
:: URL を構築して Chrome で開く
start chrome.exe “https://cloudwatchのURL/log-events$3Fstart$3D%starttimestamp%$26end$3D%endtimestamp%”
exit