get-childitem在格式化之前截断名称,全名

时间:2014-08-15 12:59:29

标签: powershell buffer get-childitem truncated

我一直在尝试使用get-childitem,format-table,format-string和out-file的PowerShell组合。

无论我尝试使用ft -wrap -autoformat和其他各种选项,get-childitem的调用都会将name属性截断为总共35个字符(30,不包括扩展名),例如:

$dir = Get-ChildItem 'c:\mypath\*' | ft -Wrap -AutoSize -Property name

示例结果(注意:没有省略号,但是完全扩展名):

myfilenametruncatesat30Charact.xlsx

fullname的相同行为,截断为106个字符。

所以看起来get-childitem在将它输出到格式cmdlet之前受到某种缓冲区的限制......

我见过的引用说明了窗口路径的260个字符限制,但这些路径的长度范围是100-120。

有关Powershell截断原因的任何提示或线索将不胜感激。

1 个答案:

答案 0 :(得分:5)

您可以使用

Get-ChildItem 'c:\mypath\*' | Select -ExpandProperty Name

<强> Select-Object

  

-ExpandProperty

     

指定要选择的属性,并指示尝试应该   可以扩大该财产。允许使用通配符   财产名称。

     

例如,如果指定的属性是数组,则每个值都是   数组包含在输出中。如果属性包含对象,   该对象的属性显示在输出中。

修改

PS C:\Users\Lieven\AppData\Local\Temp> gci myfilenametruncatesat30CharactAndThenSome.xlsx | ft -Wrap -AutoSize -Property
 name

Name
----
myfilenametruncatesat30CharactAndThenSome.xlsx