我正在嘗試更改特定檔案夾中超過 2K 檔案的“修改日期”(LastWriteTime)。所有檔案均在同一天修改。但是,它確實有多次。所以,基本上我想要完成的是:
Myfile1.Zip --> 修改日期 = "1/4/2022 12:21 PM" ==> 修改日期 = "1/3/2022 9:00 AM"
Myfile2.Zip --> 修改日期 = "1/4/2022 12:25 PM" ==> 修改日期 = "1/3/2022 9:00 AM"
這意味著在 2021 年 1 月 4 日修改的所有檔案都需要將“修改日期”顯示為 2021 年 1 月 3 日,時間在這里真的無關緊要。
是否可以使用 PowerShell 腳本進行批量更改?我對它一點也不熟悉。
uj5u.com熱心網友回復:
您可以檢查由LastWriteTime回傳的檔案系統物件的現有屬性Get-ChildItem,然后為其分配一個新值:
# define date/time variables
$filterDate = (Get-Date -Day 4 -Month 1 -Year 2022).Date
$targetDateTime = Get-Date -Day 3 -Month 1 -Year 2022 -Hour 9 -Minute 0 -Second 0
# locate and filter relevant files
$relevantFiles = Get-ChildItem -Path .\path\to\folder\ |Where-Object { $_.LastWriteTime.Date -eq $filterDate }
# update their timestamps
$relevantFiles |ForEach-Object {
$_.LastWriteTime = $targetDateTime
}
取消參考Date現有[DateTime]值的屬性會為您提供午夜的日期,因此$_.LastWriteTime.Date -eq $filterDate無論檔案是在凌晨 1 點還是下午 6 點更新,只要它是在 1 月 4日,比較都將起作用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/405516.html
標籤:
