Windows でファイル日付を変更する


f:id:Naotsugu:20170217233212p:plain

Linux では touch

Linux でファイルのタイムスタンプを変更するには touch でサクッとできます。

最終アクセス時刻を変更(2017年07月23日12時30分)

$ touch -at 20170723123000 hoge.txt 

最終更新日時を変更

$ touch -mt 20170723123000 hoge.txt 

-t は日時指定のオプションですが、-d を使うことで読みやすい指定ができます。

$ touch -md "2017/07/23 12:30:00" hoge.txt

Windows で touch

Windows の場合はコマンドが無く、GUI からの更新もできません。

ので PowerShell 使うことになります。

更新日時の変更

PS> Set-ItemProperty "C:\hoge.txt" -Name LastWriteTime -Value "2015/01/01 10:20:30"

作成日時の変更

PS> Set-ItemProperty "C:\hoge.txt" -Name CreationTime  -Value "2015/01/01 10:20:30"


複数ファイルをまとめて変更する場合は以下のようにできます。

PS> Get-ChildItem -Path "C:\*.txt" | Where-Object { $_ -is [System.IO.FileInfo] } | ForEach-Object { Set-ItemProperty $_.FullName -Name LastWriteTime -Value "2015/01/01 10:20:30" }

作成日時も同様

PS> Get-ChildItem -Path "C:\*.txt" | Where-Object { $_ -is [System.IO.FileInfo] } | ForEach-Object { Set-ItemProperty $_.FullName -Name CreationTime -Value "2015/01/01 10:20:30" }


Windows PowerShell イン アクション [イン アクションシリーズ]

Windows PowerShell イン アクション [イン アクションシリーズ]

【改訂新版】 Windows PowerShell ポケットリファレンス

【改訂新版】 Windows PowerShell ポケットリファレンス