ファイルコピーに作成日時を含める
前提
- Copy-Itemは作成日時(CreationTime)が含まれない。Copy-Itemを実行した時間が作成日時になる。
- 修正日時(LastWriteTime)は含まれる。
- Copy-Itemを実行した後、作成日時を設定し直す。
手順
1. 現在のファイル状態の確認
PS> dir *.csv | select name, CreationTime, LastWriteTime | ft
Name CreationTime LastWriteTime
---- ------------ -------------
1.csv 2016/01/09 21:48:21 2016/01/10 4:00:57
2. ファイルオブジェクトの作成とCopy-Itemの実行
PS> $oldfilename = "1.csv"; $newfilename = "2.csv"
PS> $oldfile = dir $oldfilename
PS> $newfile = Copy-Item $oldfilename $newfilename -PassThru
3. 現在のファイル状態の確認
PS> dir *.csv | select name, CreationTime, LastWriteTime | ft
Name CreationTime LastWriteTime
---- ------------ -------------
1.csv 2016/01/09 21:48:21 2016/01/10 4:00:57
2.csv 2016/01/11 1:53:58 2016/01/10 4:00:57
4. CreationTimeの設定
PS> $newfile.CreationTime = $oldfile.CreationTime
PS> dir *.csv | select name, CreationTime, LastWriteTime | ft
Name CreationTime LastWriteTime
---- ------------ -------------
1.csv 2016/01/09 21:48:21 2016/01/10 4:00:57
2.csv 2016/01/09 21:48:21 2016/01/10 4:00:57