为什么在 .NET 中System.IO.FileInfo
对象没有BaseName
属性,但我可以通过 PowerShell 使用该属性,例如:
$FolderItems = Get-ChildItem -Path "C:\" | Where-Object {$_ -isnot [IO.DirectoryInfo]}
foreach ($FolderItem in $FolderItems)
{
write-host $FolderItem.BaseName
}
Powershell 会为您添加该属性。如果您在 fileinfo 对象上运行 get-member ,您可以看到它是一个脚本属性,甚至是脚本本身:
get-item testfile1.txt | Get-Member BaseName | format-list
TypeName : System.IO.FileInfo
Name : BaseName
MemberType : ScriptProperty
Definition : System.Object BaseName {get=if ($this.Extension.Length -gt 0){$this.Name.Remove($this.Name.Length -
$this.Extension.Length)}else{$this.Name};}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)