我有一个脚本,该脚本会进行一些处理,然后需要从10天未修改的文件夹中删除文件。
首先我得到10天前的约会日期:
$deleteDate = (Get-Date).AddDays(-10)
然后我尝试使用以下方法获取文件列表:
$deleteFiles = Get-ChildItem -Path $destinationPath | Where-Object { $_.LastWriteTime -le $deleteDate }
但是,这不返回任何项目(我输出$deleteFiles.Length
)。如果我运行完全相同的命令,请先从powershell命令行设置变量,然后返回文件。
我尝试添加-Force
参数,但不走运。
答案 0 :(得分:0)
此目标文件夹仅包含文件还是子文件夹中的文件?
$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
并返回文件数。