剥离csv文件中的列并保存到不同的文件夹

时间:2014-09-12 14:31:09

标签: powershell batch-file csv

我有一个包含一些csv文件的文件夹。错误地,在csv文件中填充了一个额外的列。现在我需要将这些文件导出到一个单独的文件夹中而不需要这个额外的列列名在所有csv中都是一致的。所以像csv一样

"Col1","Col2","ColRemove"
"1","2","3"
"2","3","4"
"3","4","5"

需要移动到不同的文件/文件夹

"Col1","Col2"
"1","2"
"2","3"
"3","4"

实现同样目标的最简单方法是什么?如果它是单个文件,我会按照提到的here

步骤进行操作

2 个答案:

答案 0 :(得分:3)

Select-Object有一个-ExcludeProperty参数,您可以利用该参数:

Get-ChildItem *.csv |
foreach {
 Import-csv $_ |
 select * -ExcludeProperty ColRemove |
 Export-Csv "c:\NewDir\$($_.name)" -NoTypeInformation
 }

答案 1 :(得分:1)

for %%f in (*.csv) do (    
  for /f "tokens=1,2 delims=," %%a in ("%%f") do @echo %%a,%%b>>"%%~dpnf-new.csv"
)