我有一个脚本执行一些处理,然后需要从文件夹中删除10天未修改的文件。
首先我在10天前收到日期:
$deleteDate = (Get-Date).AddDays(-10)
然后我尝试获取文件列表:
$deleteFiles = Get-ChildItem -Path $destinationPath | Where-Object { $_.LastWriteTime -le $deleteDate }
但是,这不会返回任何项目(我输出$deleteFiles.Length
)。如果我运行完全相同的命令,首先设置变量,从powershell命令行,它返回文件。
我试过没有运气添加-Force
参数。
此目标文件夹仅包含子文件夹中的文件或文件?
$del=Get-ChildItem -Path $destinationPath -recurse | Where-Object {!$_.PsIsContainer -and ($_.LastWriteTime -le $deleteDate) }
这将列出所有子文件夹中的文件 - 只保存文件!$ _。PsIsContainer
这对我有用:
$destinationPath = "c:\temp"
$deleteDate = (Get-Date).AddDays(-10)
$del=Get-ChildItem -Path $destinationPath -recurse | Where-Object {!$_.PsIsContainer -and ($_.LastWriteTime -le $deleteDate) }
$del.length
并返回文件数。