0

我正在使用 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=}),但它不会修剪特殊字符。

有什么建议吗?

4

1 回答 1

0

Select-Object Property返回具有单个属性的 PowerShell 自定义对象。当自定义对象转换为字符串时,使用 PSH 的散列文字 ( @{name=value;name=vale;…}) 表示法。

如果您只想选择一个属性,那么只需使用它.Property来执行此操作,PowerShell 会为数组做正确的事情(您会获得该属性值的数组):

$TraName = (Get-ChildItem \\$comp\c$\ -Filter File*.txt).Name
于 2014-06-10T13:30:13.747 回答