2014-06-10 92 views
0

我正在使用Get-ChildItem在远程计算机上查找文件,并使用Select-Object对它们进行管道传输以仅返回找到的文件名。问题是,它返回@ {Name = File.txt},但我只想要文件名。修剪特殊字符powershell

$TraName = Get-ChildItem \\$comp\c$\ -Filter File*.txt | Select-Object Name 
$TraName 
echo "Found $TraName on $comp" | out-file c:\Names.txt -append 

我使用.Trim(@ {名称=})试过了,但它不会修剪特殊字符。

有什么建议吗?

+0

我不是PS专家,但不是说你的文件列表作为变量返回?你不应该只是能够调出变量吗? – VikingBlooded

回答

0

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

如果你想选择一个属性,然后只需使用.Property这样做,PowerShell将数组正确的事(你得到的属性的值数组):

$TraName = (Get-ChildItem \\$comp\c$\ -Filter File*.txt).Name 
+0

谢谢!完美的作品! – user3726182