gpt4 book ai didi

Powershell:GetType 在下游导致奇怪的行为

转载 作者:行者123 更新时间:2023-12-02 00:09:31 24 4
gpt4 key购买 nike

当我在 Powershell(已安装 v3)中观察到一些奇怪的行为时,我正在整理一个简单的演示脚本。

$file = ls 'C:\temp' | Where-Object {$_.Extension -eq '.txt'}
$file.FullName

#$file.GetType()

dir 'c:\temp'

很温和吧?它按预期运行(假设您有一个 c:\temp 目录,其中有一个 txt 文件)。但是,当您取消注释 $file.GetType() 行时,它后面的 dir 行不再提供简单的目录列表。相反,它会给出目录中所有项目的详细列表。我尝试将 GetType 通过管道传输到 out-null,然后 dir 再次正常工作,但我似乎无法对 GetType 执行操作并在之后列出目录。

所以我很好奇调用 GetType 做了什么导致下游其他 cmdlet 发生变化?任何人都可以解释导致它的机制吗?

另外,我尝试了一些其他方法并发现了一些导致问题的方法(如 GetAccessControl)和其他方法(如 GetHashCode)。所以这不仅仅是通过调用方法,某些方法会导致行为。

最佳答案

在我看来,这只是默认格式化程序变得困惑并切换到格式列表显示而不是格式表的问题。

如果您取消对 GetType() 的注释,然后将目录列表明确地通过管道传递给 FT,它就会恢复正常。

关于Powershell:GetType 在下游导致奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16175603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com