PowerShellでダミーファイル作成
はじめに
タイムスタンプを指定したダミーファイルを作成する必要があったので、さくっと作成した際のメモ。
PowerShellは色々できるのでWindowsで開発するなら覚えておいて損はない感じですね。
(環境構築したりとかいらないので。)
つくったもの
以下をCreateFiles.ps1のようなファイル名で保存。
Param( # ファイル名 [parameter(mandatory=$true)][String]$Arg1, # 拡張子 [parameter(mandatory=$true)][String]$Arg2, # 開始日 [parameter(mandatory=$true)][String]$Arg3, # 期間 [parameter(mandatory=$true)][Int]$Arg4, # ファイルサイズ [parameter(mandatory=$true)][Int]$Arg5 ) [Int]$filesize = $Arg5 [DateTime]$filedate = [datetime]::ParseExact("$Arg3","yyyyMMdd",$null) for ($i=0; $i -lt $Arg4; $i++) { [String]$filename = "$Arg1" + "_" + $filedate.ToString("yyyyMMddHHmmss") + "." + "$Arg2" fsutil file createnew $filename $filesize Set-ItemProperty $filename -Name LastWriteTime -Value $filedate $filedate = $filedate.AddDays(-1) }
以下のように実行する。
.\CreateFile.ps1 hoge log 20190110 10 1000
hoge_20190110000000.logのようなファイルが10日分できる感じです。
まとめ
今回はさくっとPowerShellでダミーファイルを作成するスクリプトを作成しました。
PowerShellはいろいろとできる言語ですのでもっと勉強していきたいですね。
テストの際はタイムスタンプをいじらなければいけない場面がありますが、
OSの時間を変更してファイルを作成するのではなくプログラムを書くようにしましょう。
※テストデータの再現性がないので辛いことなります。
PowerShell実践ガイドブック ~クロスプラットフォーム対応の次世代シェルを徹底解説~
- 作者: 吉崎生
- 出版社/メーカー: マイナビ出版
- 発売日: 2018/05/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
【改訂新版】 Windows PowerShell ポケットリファレンス
- 作者: 牟田口大介
- 出版社/メーカー: 技術評論社
- 発売日: 2013/02/23
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る