[PowerShell] 用命令批量修改檔案 建立日期 / 修改日期 / 存取日期
關於檔案的 修改時間 和 存取時間有什麼差別可以看這篇站內文
https://charlottehong.blogspot.com/2021/05/win10.html
字串格式和日期格式怎麼互轉可以參考這一邊
https://charlottehong.blogspot.com/2021/05/powershell-string-datetime.html
修改檔案日期 (簡易版)
常用的變更修改日期功能,拉出來獨立封裝的函式複製過去就可以用了。
irm bit.ly/34DB0Kb|iex; ChangeWriteTime "README.md"
irm bit.ly/34DB0Kb|iex; ChangeWriteTime "TestDir"
irm bit.ly/34DB0Kb|iex
ChangeWriteTime "Readme.md" "1999-02-13 23:59:59" -Simple
irm bit.ly/34DB0Kb|iex
ChangeWriteTime "TestDir" "2022/2/1 上午 00:00:00"
irm bit.ly/34DB0Kb|iex
ChangeWriteTime "TestDir" "2022/2/1 午前 00:00:00"
irm bit.ly/34DB0Kb|iex
ChangeWriteTime "Test" "1999-02-13 23:59:59" -Simple -Filter:@("*.txt","*.md") -Force
修改檔案日期 (完整版)
這個是完整的功能,日期與讀檔案要自己處理
irm bit.ly/34DB0Kb|iex; FileDateEditor (Get-Item ".\README.md")
$Date = New-DateTime "2022-02-13 21:00:00" -Simple
$File = Get-Item ".\README.md"
irm bit.ly/34DB0Kb|iex; FileDateEditor $File $Date
詳細用法
irm bit.ly/34DB0Kb|iex
$Date = New-DateTime "2022-02-13 21:00:00" -Simple
$File = Get-Item ".\README.md"
$File = Get-ChildItem "TestDir" -Recurse
FileDateEditor $File
FileDateEditor $File $Date
FileDateEditor $File -CreationTime:$Date
FileDateEditor $File -LastWriteTime:$Date
FileDateEditor $File -LastAccessTime:$Date
FileDateEditor $File -AllDate:$Date
FileDateEditor $File -LastAccessTime:$Date -LastWriteTime:$Date
日期解決方案
這個程式的API範例,推薦優先使用1,2和3是方便用的效能較差。
irm bit.ly/34DB0Kb|iex
New-DateTime "2022-02-13 21:00:00" -Simple
New-DateTime "1999-05-12 12:00:00" "yyyy-MM-dd HH:mm:ss"
New-DateTime "1999/02/13 午前 04:15:45" -JP
New-DateTime "2022年02月13日 午前 04:55:55" -JP
New-DateTime "2022年02月13日, 午前 04:55:55" -JP
New-DateTime "1999/02/13 上午 04:15:45" -TW
New-DateTime "1999年02月13日 上午 04:15:45" -TW
New-DateTime "1999年02月13日, 上午 04:15:45" -TW
New-DateTime "1999/02/13 午前 04:15:45"
New-DateTime "1999年02月13日 午前 04:15:45"
New-DateTime "1999年02月13日, 午前 04:15:45"
New-DateTime "1999/02/13 上午 04:15:45"
New-DateTime "1999年02月13日 上午 04:15:45"
New-DateTime "1999年02月13日, 上午 04:15:45"