当我使用select-object cmdlet时,它只从提供给它的属性列表中获取第一个属性。例如
Get-ChildItem C:\tmp | Select-Object Name, CreationTime, Length
仅返回Name,而不是CreationTime或Length。如果我把CreationTime放在第一位,我只返回CreationTime而不是其他属性。看起来select语句只处理第一个参数而忽略其余参数。我甚至尝试过使用-property参数,但这对
没有任何帮助这看起来像一个非常基本的问题,但是我在哪里出错?
我已经确认我有PS 3.0。这是我的命令行的逐字复制/粘贴,因为您只能看到返回的名称而不是长度
PS C:\tmp> $psversiontable
Name Value
---- -----
PSVersion 3.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.18046
BuildVersion 6.2.9200.16434
PSCompatibleVersions {1.0, 2.0, 3.0}
PSRemotingProtocolVersion 2.2
PS C:\tmp> Get-ChildItem | select Name,Length
Name
----
dls
gallery_uploads.txt
k.ps1
myscript.ps1
uploads.txt
为什么会发生这种情况的任何想法?我在两台独立的机器上尝试了这个,Windows 8和Windows Server 2008 R2,两者都有相同的结果!
答案 0 :(得分:2)
为了对这篇文章做出正式回答,Shay Levy的评论很明显,我的屏幕缓冲区大小非常大,这意味着我必须将屏幕向右滚动显示其他列看到它。
谢谢谢伊