我无法弄清楚为什么Get-ChildItem cmdlet的这两个参数不能一起工作。为了使我的问题尽可能清楚,请查看以下示例。从Powershell ISE命令窗格:
输入' dir' - >显示当前目录中的所有文件和子文件夹。
输入' dir -File' - >显示原始列表减去子文件夹。
输入' dir -Exclude" * .txt"' - >显示原始列表减去.txt文件。
输入' dir -File -Exclude" * .txt"' - >显示NOTHING。
我希望原始列表减去子文件夹和.txt文件。但无论我使用什么参数' -Exclude',我都没有列出任何项目。 我已经查看了Get-ChildItem -full文档以及此处的相关文章(Stack Overflow)以及其他可靠的资源,但仍然不明白为什么会失败。即使是经典的" -Include' * .txt' - 排除' A *'"添加" -File"时,示例失败。我如何一起使用-File和-Exclude? p>
答案 0 :(得分:2)
虽然dir是Get-ChildItem
的别名,但我发现在提供答案时最好使用完整的cmdlet。
要使用正确的PowerShell cmdlet,最好使用以下命令:
Get-ChildItem * -Exclude "*.txt" -File
您在上面看到的是PowerShell cmdlet,用于获取指定路径中的所有项目(使用*
假设您需要当前位置的所有项目)
您还可以使用-Path
并提供您想要获取项目的路径的位置,例如:
Get-ChildItem -Path "C:\Path\Folder" -Exclude "*.txt" -File