我一直在尝试使用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截断原因的任何提示或线索将不胜感激。
答案 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