通过powershell批量修改文件时间
钢翼
编程
新建一个ps1后缀脚本,添加代码如下
# *******************************
# 以下三个参数请自行设置
# 开始时间
$minDate = '2022-04-01'
# 结束时间
$maxDate = '2023-08-31'
# 文档目录
$path = 'G:\abc'
# *******************************
# 根据开始时间和结束时间随机生成一个日期
function Get-RandomDate {
param(
[datetime]$MinDate,
[datetime]$MaxDate
)
$rand = New-Object System.Random
# 计算时间间隔的总天数
$dateSpan = New-TimeSpan -Start $MinDate -End $MaxDate
$randomDays = $rand.Next($dateSpan.Days)
# 返回一个随机日期
$randomDate = $MinDate.AddDays($randomDays)
return $randomDate
}
# 根据日期随机生成一个时间
function Get-RandomTime {
param(
[datetime]$date
)
return ($date.ToString("MM/dd/yyyy") + ' '+(Get-Random -Minimum 8 -Maximum 24).ToString("D2")+':'+(Get-Random -Maximum 60).ToString("D2")+':'+(Get-Random -Maximum 60).ToString("D2"))
}
# 遍历文件夹下所有文件
Get-ChildItem $path -Recurse | ForEach-Object -Process{
if($_ -is [System.IO.FileInfo])
{
$createDate = Get-RandomDate -MinDate $minDate -MaxDate $maxDate
Write-Host($_.name);
# 修改创建时间
$_.CreationTime = Get-RandomTime -date $createDate
$modifyDate = Get-RandomDate -MinDate $createDate -MaxDate $maxDate
# 修改最后修改时间
$_.LastWriteTime = Get-RandomTime -date $modifyDate
}
}