【发布时间】:2022-02-23 02:39:40
【问题描述】:
我在使用 PowerShell 将多个 csv 文件合并为一个时遇到了一个奇怪的问题。我已经在 Windows 7 的 cmd 提示符下做了很多时间,但这里的输出只包含最早的文件。该命令是标准的东西:
C:\> copy *.csv output.csv
正如我所说,我得到的只是最早的 csv 复制到这个新文件中,但没有别的。这是 powershell 与简单 cmd 提示符的问题吗?
谢谢 迈克尔
【问题讨论】:
-
在 PowerShell 控制台中,
copy是Copy-Item命令的别名。cmdcopy与powershellCopy-Item不同。 -
你可以试试
Get-Content -Path '.\*.csv' >'.\output.csv' -
@lit 可能有问题,因为
Get-Content也找到了output.csv。我建议:Get-Content -Path '*.csv' -Exclude 'output.csv' >'output.csv' -
@zett42,是的,很好。
-
@lit,
Get-Content方法的问题在于您可能会无意中更改字符编码、换行符格式和尾随换行符或非尾随换行符状态(后两者可以通过 @987654333 避免@ 和Set-Content -NoNewLine,然而)。
标签: powershell cmd merge append copy-item