Powershell Export-Csv创建空文件

时间:2014-04-17 00:51:38

标签: powershell csv export-to-csv

我正在尝试使用Powershell从大量CSV中删除列。我正在尝试使用

Get Child-Item *.csv | Foreach-Object {Import-Csv $_ | select data, close | Export-Csv $_ - NoTypeInformation}

然而,我最终得到了一堆空的CSV。我猜这与导出与我正在导入的CSV同名的CSV有关,因为如果我使用不同的名称它可以正常工作(即Import-Csv X.csv ... Export-Csv XXXXXX.csv) 。

但是,当我涉及'$ _'并且手动操作太多时,我无法弄清楚如何编辑输出CSV名称。

我给的命令有什么问题?另外,为了将来参考,我如何将输出作为不同的文件名?

谢谢。

1 个答案:

答案 0 :(得分:0)

好的,一个衬垫很棒,但是如果你开始遇到问题,可能是时候将其分解了。这会将其导入变量,然后选择所需的两列,并将其导出到文件名末尾加-trimmed的文件。

Gci *.csv ¦ select -expand Fullname ¦ %{
    $current = import-csv $_
    $newname = $_ -replace ".Csv$", "-trimmed.csv"
    $current ¦ select data, close ¦ export-csv $newname -notype

}

这应该有用,虽然我无法测试,因为我在下班回家的路上乘坐公共汽车时从手机上发帖。