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
106 文字で切り捨てられるフルネームの同じ動作。
そのため、get-childitem は、フォーマット コマンドレットにパイプする前に、ある種のバッファーによって制約されているようです...
Windows パスに 260 文字の制限があるというリファレンスを見たことがありますが、これらのパスの長さは 100 ~ 120 の範囲です。
Powershell が切り捨てられる理由についてのヒントや手がかりをいただければ幸いです。