我的C:目录中有一个包含许多文件的列表.如果我尝试在其上运行-Exclude,则不会返回.与-Include相同.如果我使用过滤器,它会返回我期望的结果.我不明白它应该做什么?
以下是我正在运行并且什么都没得到的示例:
Get-ChildItem -Path C: -Exclude "*.txt"
Run Code Online (Sandbox Code Playgroud)
我一无所获.如果我跑
Get-Childitem -filter "*.txt"
Run Code Online (Sandbox Code Playgroud)
我得到了回报:
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 11/7/2007 8:00 AM 17734 eula.1028.txt
-a---- 11/7/2007 8:00 AM 17734 eula.1031.txt
-a---- 11/7/2007 8:00 AM 10134 eula.1033.txt
-a---- 11/7/2007 8:00 AM 17734 eula.1036.txt
-a---- 11/7/2007 8:00 AM 17734 eula.1040.txt
-a---- 11/7/2007 8:00 AM 118 eula.1041.txt
-a---- 11/7/2007 8:00 AM 17734 eula.1042.txt
-a---- 11/7/2007 8:00 AM 17734 eula.2052.txt
-a---- 11/7/2007 8:00 AM 17734 eula.3082.txt
7/7/2016 8:50 AM 93 HaxLogs.txt
-a---- …Run Code Online (Sandbox Code Playgroud) 我试图理解Powershell,但发现事情并不那么直观.我理解的是,在管道中传递对象,而不是传统的文本.并且$ _指的是管道中的当前对象.那么,为什么以下不起作用:
get-date|Write-Host "$_"
Run Code Online (Sandbox Code Playgroud)
错误消息是:
Write-Host:输入对象不能绑定到命令的任何参数,因为该命令不接受管道输入或输入及其属性不会影响任何接受管道输入的参数.在行:1 char:10 + get-date | Write-Host $ _ + ~~~~~~~~~~~~~ + CategoryInfo:InvalidArgument:(10-9-2014 15:17:00:PSObject) [Write-Host],ParameterBindingException + FullyQualifiedErrorId:InputObjectNotBound,Microsoft.PowerShell.Commands.WriteHostCommand