powershell - 在 ForEach 循环中使用 Where 方法
问题描述
只是好奇是否可以将 Where 方法与 ForEach 循环结合使用?
$numbers = @(1..10)
ForEach($number in $numbers.Where({$number = 2})){
Write-Host "the number is $number"
}
好的,想通了
事实证明,您也可以使用以下方法使用 Get-ChildItem 执行此操作
$start = Get-Date
$end = (Get-Date).AddDays(-1)
$sourcePath = Get-ChildItem -path "C:\"
ForEach($file in ($sourcePath.where({$_.CreationTime -ge $end -and
$_.CreationTime -le $start}))){
Write-Host $file.Name
}
谢谢!
解决方案
有可能,与在 $numbers 相同的行上进行嵌套相比,您确实得到了令人讨厌的嵌套级别。
$numbers = @(1..10)
ForEach($number in ($numbers.Where({$_ -eq 2}))){
Write-Host "the number is $number"
}
推荐阅读
- google-cloud-run - ENV 变量中的 Google Cloud Run 和 JSON
- php - 致命错误:存在时找不到类“conn”
- node.js - “找不到所需的文件。名称:index.html”在 Heroku 上部署 React 应用程序时出错
- javascript - TimerTask 完成不会使 Task.any 产生已完成的任务
- firebase - Firebase 模拟器上的玩笑测试找不到数据库 URL?
- python - 将 matplotlib 图形画布图像插入 QTextDocument
- javascript - 尝试修复应用程序开发的应用程序 JavaScript 类型错误
- mysql - MySQL:首先查找特定值,然后获取第二个值
- sql - 当一列在不同的行中包含相同的值时,从许多结果中只取一条记录
- c - 带寄存器的 Stm32 定时器计数器