Разделение большого файла CSV останавливается при обнаружении символа NUL - PullRequest
0 голосов
/ 03 октября 2019

У меня есть файл CSV 200 МБ, который я разделяю, используя код ниже. Все работало нормально, но сегодня пакетный файл перестал обрабатываться, когда натолкнулся на строки, содержащие значения 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 и командной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...