Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要有关PowerShell列循环的帮助吗_Shell_Powershell - Fatal编程技术网

需要有关PowerShell列循环的帮助吗

需要有关PowerShell列循环的帮助吗,shell,powershell,Shell,Powershell,我有一个要求,应该在windows PowerShell或命令行中完成。我需要将CSV文件列拆分为.txt文件 customer.csv: id,name 1,a 2,b 我需要将列拆分为文本文件(这里的行数和列数是动态的) 输出文本文件应如下所示: id.txt: 1 2 a b name.txt: 1 2 a b 我在Google的帮助下找到了以下脚本: $a = Import-Csv "D:\Final\customer.csv" $b = $a[0] | Get-Member

我有一个要求,应该在windows PowerShell或命令行中完成。我需要将CSV文件列拆分为
.txt
文件

customer.csv

id,name
1,a
2,b
我需要将列拆分为文本文件(这里的行数和列数是动态的)

输出文本文件应如下所示:

id.txt

1
2
a
b
name.txt

1
2
a
b
我在Google的帮助下找到了以下脚本:

$a = Import-Csv "D:\Final\customer.csv"
$b =  $a[0] | Get-Member | select -Skip 1 |  ? { $_.membertype -eq 'noteproperty'} 
$b | % { $a | ft -Property $_.name | out-file "$($_.name).txt"  }
但是输出的文本文件带有列名、空格等。。我无法自定义上述代码。请提供任何帮助,如果有人需要更多信息,请告诉我

谢谢,


Satish Kumar

您的代码的问题在于使用
ft
格式表
)对CSV文件中的数据进行格式设置,从而减少空间

以下PowerShell脚本是一种更简洁的方法:

$csv = Import-Csv -Path 'D:\Final\customer.csv'
$columns = $csv | Get-Member -MemberType NoteProperty

foreach( $c in $columns )
{
    foreach( $line in $csv )
    {
        Add-Content -Path $( $c.Name + '.txt' ) -Value $line.$( $c.Name )
    }
}