Get-ChildItem不返回脚本中的项目,但可以从命令行运行

问题描述 投票:0回答:1

我有一个脚本执行一些处理,然后需要从文件夹中删除10天未修改的文件。

首先我在10天前收到日期:

$deleteDate = (Get-Date).AddDays(-10)

然后我尝试获取文件列表:

$deleteFiles = Get-ChildItem -Path $destinationPath | Where-Object { $_.LastWriteTime -le $deleteDate }

但是,这不会返回任何项目(我输出$deleteFiles.Length)。如果我运行完全相同的命令,首先设置变量,从powershell命令行,它返回文件。

我试过没有运气添加-Force参数。

powershell-v4.0 get-childitem
1个回答
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

并返回文件数。

© www.soinside.com 2019 - 2024. All rights reserved.