2014-06-10 95 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