我使用Get-ChildItem来查找远程计算机上的文件,并使用Select-Object来对它们进行管道处理,只返回它找到的文件名。问题是,它返回@{Name= file .txt},但我只想要文件名。
$TraName = Get-ChildItem \$compc$ -Filter File*.txt | Select-Object Name
$TraName
echo "Found $TraName on $comp" | out-file c:Names.txt -append
我试过使用。trim (@{Name=}),但它不会修剪特殊字符。
任何建议吗?
Select-Object Property
返回一个带有单个属性的PowerShell自定义对象。当自定义对象转换为字符串时,使用PSH的哈希字面值(@{name=value;name=vale;…}
)表示法。
如果你只想选择一个属性,那么就使用.Property
来这样做,PowerShell为数组做正确的事情(你得到一个数组的属性值):
$TraName = (Get-ChildItem \$compc$ -Filter File*.txt).Name