【发布时间】:2015-05-07 05:08:53
【问题描述】:
您好,我是 Powershell 的新手,我为自己创建了一个相当复杂的代码,并发现它们不仅仅是我可以编写它的一种方式,例如:
$DayLimit = (Get-Date).AddDays(-8)
$Date = Get-Date -Format yyyyMMdd
$Path = Get-ChildItem G:\VLTNAS1_Backup\Active\Nightly\ -Force |
Where-Object { $_.PSIsContainer -eq $True -and $_.CreationTime -lt $DayLimit }
或
ForEach ($Folder in $Path)
{
if($Folder.PSIsContainer -eq $True -and $Folder.CreationTime -lt $DayLimit)
{
Write-Host $Folder
}
}
我有 2 个问题,第一个是我使用 Write-Host 测试了这两种方法,它们以不同的方式打印结果。
条件嵌套到变量中的第一个示例是它们被打印在一行中,例如:Test1 Test2 Test3
我使用的第二种方法将结果打印在单个列中,例如:
测试1
测试2
测试3
这是为什么呢?
我的最后一个问题是使用这两种方法有什么区别,是创建嵌套在变量中的条件更强大,反之亦然。我只是想更多地了解powershell并接受任何帮助或批评,谢谢。
【问题讨论】:
标签: powershell foreach