3

Я хочу разделить файл .txt. Сначала я открыл файл .txt с помощью notepad++ и изменил EOL с \r\n на \n .

Затем я хотел разделить файл на 10 частей, и для этого я использовал инструмент под названием split или join, а также этот скрипт.

Когда я проверяю, я вижу, что EOL возвращаются в \r\n .

Как мне разбить файл .txt и сохранить те же EOL?

@ECHO OFF
SETLOCAL
SET "sourcedir=C:\Documents and Settings\Admin\Desktop\split files"
SET /a fcount=100
SET /a llimit=10000
SET /a lcount=%llimit%
FOR /f "usebackqdelims=" %%a IN ("%sourcedir%\list.txt") DO (
CALL :select
FOR /f "tokens=1*delims==" %%b IN ('set dfile') DO IF /i "%%b"=="dfile" >>"%%c" ECHO(%%a
)
GOTO :EOF
:select
SET /a lcount+=1
IF %lcount% lss %llimit% GOTO :EOF
SET /a lcount=0
SET /a fcount+=1
SET "dfile=%sourcedir%\file%fcount:~-2%.txt"
GOTO :EOF

2 ответа2

0

Вы можете использовать этот DOS2UNIX. Эта программа преобразует ваш текстовый файл, поэтому удаляет лишние символы, которые добавляются при сохранении его в виде программы Windows. Поместите эту программу в свою систему, добавьте ее в вашу переменную PATH и включите в свой скрипт после того, как вы выполните разделение. Это должно удалить ваши лишние символы.

https://sourceforge.net/projects/dos2unix/

0

Notepad++ определяет формат EOL при открытии файла и сохраняет файл в том же формате. Чтобы изменить данный файл на EOL в формате UNIX (только \n), существует простая команда меню:

Правка> Преобразование EOL> Формат UNIX/OSX

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .