powershell

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.txt
  • 最終更新: 2024/03/31
  • by yuqlid