遇到NUL字符时,停止拆分大型CSV文件

时间:2019-10-03 13:31:55

标签: windows batch-file cmd

我有一个200Mb CSV文件,正在使用以下代码拆分。一切正常,但今天批处理文件遇到包含NUL值的行时停止处理(我们在Notepad ++中打开了大文件)

enter image description here

@echo off
setLocal EnableDelayedExpansion

set limit=200000
set file=test.csv
set lineCounter=1
set filenameCounter=1

set name=
set extension=
for %%a in (%file%) do (
    set "name=%%~na"
    set "extension=%%~xa"
)

for /f "tokens=*" %%a in (%file%) do (
    set splitFile=!name!-part!filenameCounter!!extension!
    if !lineCounter! gtr !limit! (
        set /a filenameCounter=!filenameCounter! + 1
        set lineCounter=1
        echo Created !splitFile!.
    )
    echo %%a>> !splitFile!

    set /a lineCounter=!lineCounter! + 1
)
pause

有关如何解决此问题的任何建议?不幸的是,我们仅限于使用Windows和命令提示符。

0 个答案:

没有答案