答案 0 :(得分:2)
由于您开放使用Powershell,因此我使用了此方法。每个文件中最后要考虑的是您的LF/CR
,这一点很重要。如果可能是丢失,那么您必须为此检查一下。
单个文件
$stream = [IO.File]::OpenWrite("somefile.csv")
$stream.SetLength($stream.Length - 2)
$stream.Close()
$stream.Dispose()
目录中有多个文件
#Remove the last bit of data from the end of the file, which is a LF, so BULK INSERT doesn't break
$fileDirectory = "E:\dir\subdirectory"
foreach($file in Get-ChildItem $fileDirectory)
{
$filePath = $fileDirectory + "\" + $file
$stream = [IO.File]::OpenWrite($filePath)
$stream.SetLength($stream.Length - 2)
$stream.Close()
$stream.Dispose()
}
我在一个相当大的每日数据集上使用它,它非常愚蠢,一两秒就可以了。最初的想法通过Joey记入this answer.
从操作上