2022年2月13日 星期日

[PowerShell] 用命令修改檔案 建立日期 / 修改日期 / 存取日期

[PowerShell] 用命令批量修改檔案 建立日期 / 修改日期 / 存取日期

tags: 部落格文章

關於檔案的 修改時間 和 存取時間有什麼差別可以看這篇站內文
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

# 日期1
New-DateTime "2022-02-13 21:00:00" -Simple
New-DateTime "1999-05-12 12:00:00" "yyyy-MM-dd HH:mm:ss"

# 日期2
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

# 日期3 - 可以省掉後面國家自動偵測當前系統格式
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"

沒有留言:

張貼留言