如何显示在特定时间段内修改的所有文件?
How to show all files modified in a specific period?
我必须 dir
每个在特定时间段内使用 PowerShell 修改的文件。
我找到了 this article。现在我得到了以下语句,但我收到一条错误消息。
dir C:\Test\ | ? {
$_.LastWriteTime -gt '01/01/2016' -and
$_.LastWriteTime -lt '14/02/2016'
}
我需要转换日期什么的吗?
得到解决方案:
$von = Read-Host "pls start date of period (dd.mm.yyyy) : "
$bis = Read-Host "pls end date of period(dd.mm.yyyy): "
$vondate = [datetime]::ParseExact($von,'dd.MM.yyyy',$null)
$bisdate = [datetime]::ParseExact($bis,'dd.MM.yyyy',$null)
dir C:\Test\ | ? {
$_.LastWriteTime -gt $vondate -and
$_.LastWriteTime -lt $bisdate
}
您收到该错误,因为您的参考日期使用格式 dd/MM/yyyy
,PowerShell 无法自动将其转换为 DateTime
值。使用美国日期格式 (MM/dd/yyyy
):
dir C:\Test\ | ? {
$_.LastWriteTime -gt '01/01/2016' -and
$_.LastWriteTime -lt '02/14/2016'
}
或使用 Get-Date
从系统语言环境中格式化的字符串创建参考日期(很可能 dd.MM.yyyy
因为您的错误消息是德语):
$maxAge = Get-Date '01.01.2016'
$minAge = Get-Date '14.02.2016'
dir C:\Test\ | ? {
$_.LastWriteTime -gt $maxAge -and
$_.LastWriteTime -lt $minAge
}
我必须 dir
每个在特定时间段内使用 PowerShell 修改的文件。
我找到了 this article。现在我得到了以下语句,但我收到一条错误消息。
dir C:\Test\ | ? {
$_.LastWriteTime -gt '01/01/2016' -and
$_.LastWriteTime -lt '14/02/2016'
}
我需要转换日期什么的吗?
得到解决方案:
$von = Read-Host "pls start date of period (dd.mm.yyyy) : "
$bis = Read-Host "pls end date of period(dd.mm.yyyy): "
$vondate = [datetime]::ParseExact($von,'dd.MM.yyyy',$null)
$bisdate = [datetime]::ParseExact($bis,'dd.MM.yyyy',$null)
dir C:\Test\ | ? {
$_.LastWriteTime -gt $vondate -and
$_.LastWriteTime -lt $bisdate
}
您收到该错误,因为您的参考日期使用格式 dd/MM/yyyy
,PowerShell 无法自动将其转换为 DateTime
值。使用美国日期格式 (MM/dd/yyyy
):
dir C:\Test\ | ? {
$_.LastWriteTime -gt '01/01/2016' -and
$_.LastWriteTime -lt '02/14/2016'
}
或使用 Get-Date
从系统语言环境中格式化的字符串创建参考日期(很可能 dd.MM.yyyy
因为您的错误消息是德语):
$maxAge = Get-Date '01.01.2016'
$minAge = Get-Date '14.02.2016'
dir C:\Test\ | ? {
$_.LastWriteTime -gt $maxAge -and
$_.LastWriteTime -lt $minAge
}