Iska, конечно просмотрел там всё.
Есть такого формата текст:
<маркер>
aaa
bbb
ccc
ddd
<маркер>
<маркер>
eee
fff
<маркер>
Вот это разделяет по пустым строкам, а мне нужно по маркерам
Код:

@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set $F=file.txt
For /F "Tokens=1* Delims=[]" %%i In ('^<"%$F%" Find /V /N ""') Do (
If Not "%%j"=="" If Not Defined $F Set /A $N+=1& Set $F=F
If Not "%%j"=="" Echo.%%j>>out_!$N!.txt
If Defined $F If "%%j"=="" Set $F=)
А это по маркерам, но удаляет пустые строки, которые нужно оставить на своих местах
Код:

@echo off
SETLOCAL EnableDelayedExpansion
set SRC=file.txt
set DST=out_#.txt
set DLM=--- ---
for /f "usebackq delims=" %%i In ("%SRC%") do (
if not defined $F (
set /a $N+=1& set $F=F
set "$O=%DST:#=!$N!%"
type nul >"!$O!")
if not "%%i"=="%DLM%" echo %%i>>"!$O!"
if "%%i"=="%DLM%" set $F=)
А с VBS я вообще не дружу)
Поэтому и спрашиваю, как разделить txt, чтоб по маркерам и чтоб пустые строки остались на местах.