我正在使用Get-ChildItem在远程计算机上查找文件,并使用Select-Object管道它们只返回它找到的文件名。问题是,它正在返回@ {Name = File.txt},但我只想要文件名。
$TraName = Get-ChildItem \\$comp\c$\ -Filter File*.txt | Select-Object Name
$TraName
echo "Found $TraName on $comp" | out-file c:\Names.txt -append
我尝试过使用.Trim(@ {Name =}),但它不会修剪特殊字符。
有什么建议吗?
答案 0 :(得分:0)
Select-Object Property
返回具有单个属性的PowerShell自定义对象。当自定义对象转换为字符串时,将使用PSH的散列文本(@{name=value;name=vale;…}
)表示法。
如果您只想选择一个属性,那么只需使用.Property
即可,PowerShell为数组做了正确的事情(您获得该属性值的数组):
$TraName = (Get-ChildItem \\$comp\c$\ -Filter File*.txt).Name