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