Имеем текстовый файл в котором более 30 тысячи строк необходимо поделить этот файл на более мелкие. допустим по 3000 файл имеет вид
текст; текст
текст; текст
текст; текст
Другие языки программирования и технологии
Скопировать из текстового файла .txt часть строк c 1 по 3000, затем с 3000 по 6000 и так до конца файла.
Сохрани в файл с расширением .vbs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LinesInFile = 3000
FromFileName = "file.txt"
ToFileName = "result"
ExToFile = ".txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile(FromFileName)
Set fromFile = File.OpenAsTextStream(1)
N = 0
K = 0
While Not fromFile.AtEndOfStream
str = fromFile.ReadLine()
If K = 0 then
N = N + 1
Set toFile = FSO.OpenTextFile(ToFileName & N & ExToFile, 2, True)
K = LinesInFile + 1
End If
toFile.WriteLine(str)
K = K - 1
If K = 1 then
toFile.Close
K = 0
End If
WEnd
If K > 0 Then
toFile.Close
End If
fromFile.Close
MsgBox "Готово! ", 4160
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Проверено на файле сформированном вот таким скриптом, который давал кому-то на днях:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.OpenTextFile("file.txt", 8, True)
For N = 0 To 99999999
TextStream.WriteLine(Right("00000000" & N, 8))
Next
TextStream.Close
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LinesInFile = 3000
FromFileName = "file.txt"
ToFileName = "result"
ExToFile = ".txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile(FromFileName)
Set fromFile = File.OpenAsTextStream(1)
N = 0
K = 0
While Not fromFile.AtEndOfStream
str = fromFile.ReadLine()
If K = 0 then
N = N + 1
Set toFile = FSO.OpenTextFile(ToFileName & N & ExToFile, 2, True)
K = LinesInFile + 1
End If
toFile.WriteLine(str)
K = K - 1
If K = 1 then
toFile.Close
K = 0
End If
WEnd
If K > 0 Then
toFile.Close
End If
fromFile.Close
MsgBox "Готово! ", 4160
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Проверено на файле сформированном вот таким скриптом, который давал кому-то на днях:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.OpenTextFile("file.txt", 8, True)
For N = 0 To 99999999
TextStream.WriteLine(Right("00000000" & N, 8))
Next
TextStream.Close

считывать блоками, разбивать по строкам и при достижении 3000 сохранять. . не блоками, а строками
выделить текст не используя мышь легче простого:
Поставьте курсор на начало выделения - нажмите SHIFT и не отпуская тащите правый бегунок. После выделения нужного фрагмента - отпустите SHIFT и жмите копировать (crtl+c)
впрочем, есть и программка
http://www.softslot.com/software-1200-programma-razdeleniya-teksta.html
Поставьте курсор на начало выделения - нажмите SHIFT и не отпуская тащите правый бегунок. После выделения нужного фрагмента - отпустите SHIFT и жмите копировать (crtl+c)
впрочем, есть и программка
http://www.softslot.com/software-1200-programma-razdeleniya-teksta.html
Если у вас Windows, то открываем powershell.exe (это нормальная консоль, а не сраный cmd.exe – есть по умолчанию начиная с Win 7)
Вводим:
$s = 3000; $a = cat 'C:\SomeFile.txt' | oss ## здесь укажите путь к вашему файлу
for ($i = 0; $i -lt $a.Count; $i+=$s) { $a[$i..($i+$s)] | Out-File "C:\$($i / $s).txt" }
В результате в папке 'C:\' имеем 0.txt, 1.txt итд
Вводим:
$s = 3000; $a = cat 'C:\SomeFile.txt' | oss ## здесь укажите путь к вашему файлу
for ($i = 0; $i -lt $a.Count; $i+=$s) { $a[$i..($i+$s)] | Out-File "C:\$($i / $s).txt" }
В результате в папке 'C:\' имеем 0.txt, 1.txt итд
ctrl-c, ctrl-v, ctrl-c, ctrl-v, ctrl-c, ctrl-v, ctrl-c, ctrl-v, ctrl-c, ctrl-v...
Похожие вопросы
- Как подсчитать дубли строк в текстовом файле?
- 4. Даны два текстовых файла. Записать в третий только те строки, которые есть и в первом, и во втором файлах.
- задача TurboPascal с текстовым файлом, помогите....
- bat файл, как с помощью батника заменить строку в файле. txt
- Как удалить определённые строки в текстовом файле? С++
- Вопрос по .bat файлу. Как создать пустой txt файл через командную строку?
- Си. Программа читает файл txt и заполняет находящимися там числами массив, но
- как сконвертировать DBF файл TXT. или хотя бы данные скопировать
- Написать программу которая подсчитывает частоту встречаемости символов в заданном текстовом файле С++
- C# как в richTextBox1 загрузить текст из файла txt