目次

PowerShell

Windowsに搭載されているシェル
## リダイレクト

PowerShellでコマンドやファイルを実行して、その主力をPowershellの画面二表示するのではなくファイルに保存したいとき、これをリダイレクトというらしい。 やることとしては、特定のコマンド > 保存ファイル名とするだけ。例として、スクリプトtest.ps1を実行した際の出力をtest.logというファイルに保存したい場合は

PS C:/Users/Username> test.ps1 > test.log

PowerShellからデータを出力するパターンまとめ
WindowsコマンドやPowerShellの実行結果をファイルに出力する方法

起動時にリダイレクトするファイルを自動的に作成したい

ログ系のアプリケーションを起動するとき、ファイル名をログ計測開始の時間をファイル名にして保存したいケースを想定
ファイル名をそのアプリケーションの動作開始時間として保存を開始する。

以下をスクリプト名.ps1として保存(ChatGPTに書いてもらった)

# 現在の日付を取得
$currentDate = Get-Date -Format "yyyyMMdd"
 
# フォルダ名を作成
$folderName = "$currentDate"
 
# フォルダが存在しない場合は作成
if (-not (Test-Path -Path $folderName -PathType Container)) {
    New-Item -ItemType Directory -Path $folderName | Out-Null
}
 
# 出力ファイルをフォルダにリダイレクト
$currentTime = Get-Date -Format "yyyyMMdd_HHmmss"
$fileName = "syslog_$currentTime.log"
 
# ログ計測アプリケーション(log_app)を実行
log_app >  "$folderName\\$fileName"

あとは以下のようにスクリプトを呼び出せば勝手に日付のフォルダが作られてそこにファイルが保存されていく

PS C:/Users/Username> スクリプト名.ps1

参考文献

Powershell系、自分のホームフォルダに移動するスクリプト書いたからそのぐぐった時のもの
PowerShell を便利に使うための設定
PowerShell で Profile を利用して スクリプトの自動読み込みをしてみよう
PowerShellでbashrc的な設定ファイル
Powershellを楽に実行してもらうには
PowerShellでのプロファイル (.bashrcのようなもの)
VSCode powershellでエイリアスを設定する。(.bashrcや、.zshrcのような設定ファイル)