どうも、Tです。
PowerShellを使ってテキストファイルに定期的に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 }
まとめ
単純だけどちょろちょろ使いたいパターンがあったので、今後も使っていきそう。