首页 > 解决方案 > 如何为不同的列分配拆分路径?

问题描述

我想获得一个文件路径,例如: C:\Users\username\Desktop 并将它们拆分为excel文件的列,即:

Root | sub folder1| sub_folder2|subfolder3
C:\  |Users       |    username|Desktop

我尝试将它们单独分配给不同的变量,但有些路径比其他路径长

我试着做



$final = Invoke-Command -ComputerName $hostname -ScriptBlock {

    $path = 'C:\Users\Username\ Desktop'
[PSCustomObject]@{‘Name’ = $path;'Roots' = $path -split '\\' } 

}

$final|Select-Object Name, Roots | Export-excel '.\testfile.xlsx' -append

我没有收到错误,但是当我打开 excel 文件时,只显示一个文件,并且根没有分成不同的列

标签: excelpowershell

解决方案


无论您的目录有多少树级,另一个工作示例:

$path = 'C:\Users\Username\Desktop'

$Splited=$path -split '\\'

$Object=[pscustomobject]@{Root=$Splited[0]}
$Splited[1..($Splited.Length)] | foreach -Begin{$i=0} -Process {$i++; Add-Member -InputObject $Object -MemberType NoteProperty -Name "Sub Folder $i" -Value $_ }

$Object | export-csv "c:\temp\Result.csv" -NoType

推荐阅读