PowerShellのスクリプトをいっぱい書くことになったので、
ログ出力とかのテンプレートを固めておきたいと思って投稿しました。
フォルダ構成はこんな感じ ※logフォルダは自動で作成されるので手で作る必要はないです。
相対パスで動くようにしているので、基本どこに置いても動作すると思います。
※バッチファイルについてはこちら
ソースコード
#==============日時・ログファイル定義==============
$Date = Get-Date -Format yyyy_MM_dd
$Time = Get-Date -Format HH_mm_ss
$Now = "$Date`_$Time"
$Name_ps1 = [System.IO.Path]::GetFileNameWithoutExtension($PSCommandPath)
$Log_Ps1 = "$PSScriptRoot\log\$Name_ps1`_$Now`_$env:COMPUTERNAME`_$env:USERNAME`.log"
#==============スクリプト終了定義==============
Function Finish_Ps1{
Write-Host (Get-Date -Format HH_mm_ss) "`t**********スクリプトを終了します**********"
Stop-Transcript
Exit
}
#==============スクリプト開始==============
Start-Transcript $Log_Ps1
Write-Host (Get-Date -Format HH_mm_ss) "`t**********スクリプトを開始します**********"
Write-Host ""
#==============処理Aを記述==============
Write-Host (Get-Date -Format HH_mm_ss) "`t▼▼▼▼▼▼▼▼▼▼処理Aを開始します▼▼▼▼▼▼▼▼▼▼"
Write-Host (Get-Date -Format HH_mm_ss) "`t==========A-1実行中=========="
Write-Host (Get-Date -Format HH_mm_ss) "`t==========A-2実行中=========="
Write-Host (Get-Date -Format HH_mm_ss) "`t==========A-3実行中=========="
Write-Host (Get-Date -Format HH_mm_ss) "`t▲▲▲▲▲▲▲▲▲▲処理Aを終了します▲▲▲▲▲▲▲▲▲▲"
Write-Host ""
#==============処理Bを記述==============
Write-Host (Get-Date -Format HH_mm_ss) "`t▼▼▼▼▼▼▼▼▼▼処理Bを開始します▼▼▼▼▼▼▼▼▼▼"
Write-Host (Get-Date -Format HH_mm_ss) "`t==========B-1実行中=========="
Write-Host (Get-Date -Format HH_mm_ss) "`t==========B-2実行中=========="
Write-Host (Get-Date -Format HH_mm_ss) "`t==========B-3実行中=========="
Write-Host (Get-Date -Format HH_mm_ss) "`t▲▲▲▲▲▲▲▲▲▲処理Bを終了します▲▲▲▲▲▲▲▲▲▲`n"
Write-Host ""
#==============スクリプト終了==============
Finish_Ps1