我想要除.txt之外的所有文件。
foreach ($file in Get-ChildItem $Out | Where $file.Extension -ne .txt) {
Write-Host $file.name
}
列出目录中的所有项目,包括.txt。
这应该是什么样的?
答案 0 :(得分:2)
不需要循环来执行此操作,只需:
Get-ChildItem | Where-Object { $_.Extension -ne ".txt" } Select-Object "Name"
或者:
Get-ChildItem -Exclude "*.txt" | Select-Object "Name"
如果你坚持循环,或者需要循环,你可以:
foreach ($file in Get-ChildItem -Exclude "*.txt") { Write-Host $file.Name; }
或
foreach ($file in Get-ChildItem | Where-Object { $_.Extension -ne ".txt" }) { Write-Host $file.Name; }
或
foreach ($file in Get-ChildItem | Where-Object Extension -ne ".txt") { Write-Host $file.Name; }
问题中的示例不起作用,因为$file
仅在 foreach
内可用。