PowerShellで定期的にテキストファイルに書き込む

どうも、Tです。

PowerShellを使ってテキストファイルに定期的に1行ずつテキストを書込む方法を調べてみました。

スポンサーリンク
アドセンス1

やりたいこと

実際に作ったものを例に説明します。

PowerShellを作ったps1ファイルを右クリック「PowerShellで実行」をクリックすると・・・

プロンプトが表示されて、書き込むテキストが作成、追記されていく。

ファイルの中身は、1回に1行ずつ書き込まれる。画像では1秒に1回書き込み。

<書き込み回数>:WriteTime:<書き込み日時>

プロンプトで、Ctrl+cでストップする。

方法

下記のコードをps1ファイルとして保存して実行したら出来上がり。細かいところは読み解いてください。

$CUR_DIR = Convert-Path . #カレントディレクトリ取得
$DATE_TIME = Get-Date -UFormat %Y%m%d-%H%M%S #ログファイル名に含める日時
$TEXT_FILE = $DATE_TIME+'-WriteText'+'.txt' #テキストファイル名
$TEXT_PATH = $CUR_DIR+'\'+$TEXT_FILE #テキストファイル出力場所
$WRITE_INTERBAL = 1 #書込むまでの待ち時間(秒)
$WRITE_TIMES = 10000 #書込む回数
$WRITE_MESSAGE = ':WriteTime:' #テキストファイルに書込むメッセージ
$WriteCnt = 0 #書込み回数カウント

#プロンプトのメッセージ
Write-Output 'Being written now'

while($WRITE_TIMES -gt $WriteCnt){
#現日時取得
$NOW_TIMME = Get-Date -UFormat %Y%m%d-%H%M%S
#テキストファイルへの書込み
Write-Output $WriteCnt$WRITE_MESSAGE$NOW_TIMME | Out-File -Append $TEXT_PATH
$WriteCnt++
#指定時間待ち
Start-Sleep -Seconds $WRITE_INTERBAL
}

まとめ

単純だけどちょろちょろ使いたいパターンがあったので、今後も使っていきそう。

スポンサーリンク
アドセンス1
アドセンス1
ブログランキング・にほんブログ村へ

シェアする

フォローする