我必须dir
使用PowerShell在特定时间段内修改的每个文件。
我找到了this article。现在我有以下声明,但收到错误信息。
dir C:\Test\ | ? {
$_.LastWriteTime -gt '01/01/2016' -and
$_.LastWriteTime -lt '14/02/2016'
}
我是否必须转换日期或其他内容?
答案 0 :(得分:1)
您收到该错误,因为您的参考日期使用格式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
}
答案 1 :(得分:0)
得到解决方案:
$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
}