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

jjt*_*jjt 2 powershell buffer truncated get-childitem

我一直在尝试使用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
Run Code Online (Sandbox Code Playgroud)

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

myfilenametruncatesat30Charact.xlsx
Run Code Online (Sandbox Code Playgroud)

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

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

我已经看过引用说明窗口路径的260个字符限制,但这些路径在100 - 120长度范围内.

关于为什么Powershell会截断的任何提示或线索将不胜感激.

Lie*_*ers 5

您可以使用

Get-ChildItem 'c:\mypath\*' | Select -ExpandProperty Name
Run Code Online (Sandbox Code Playgroud)

选择-对象

-ExpandProperty

指定要选择的属性,并指示应尝试扩展该属性.酒店名称允许使用通配符.

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

编辑

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

Name
----
myfilenametruncatesat30CharactAndThenSome.xlsx
Run Code Online (Sandbox Code Playgroud)