Return 除 .txt 之外的所有文件

Return all files excepts .txt

我想要除以 .txt 结尾的文件之外的所有文件。

foreach ($file in Get-ChildItem $Out | Where $file.Extension -ne .txt) {

Write-Host $file.name

}

这会列出目录中的所有项目,包括 .txt。

这到底应该是什么样子?

不需要循环来执行此操作,只需:

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 仅在 inside foreach.

中可用