Войти

Показать полную графическую версию : Пустой абзац после определённой строки


Bruce Wayne
05-05-2012, 11:44
Добрый день!

Имеется файл 1.txt, который содержит 25 строк. У меня такой вопрос: как сделать так, чтобы добавился пустой абзац после 21 строчки?

P. S. Есть скрипт для добавления пустого абзаца после каждой строчки:

for /f "tokens=*" %%i in (1.txt) do (echo. >>2.txt&echo %%i >>2.txt)
type 2.txt > 1.txt
del /a /f /q 2.txt

Но он добавляет ещё и пробел после каждой строчки, который добавлять не нужно. Подскажите, пожалуйста!

ferget
05-05-2012, 12:28
Но он добавляет ещё и пробел после каждой строчки, который добавлять не нужно. Подскажите, пожалуйста! »


for /f "tokens=*" %%i in (1.txt) do (echo.>>2.txt&echo %%i>>2.txt)
type 2.txt > 1.txt
del /a /f /q 2.txt

Bruce Wayne
05-05-2012, 13:06
ferget, спасибо большое! Остался только вопрос с добавлением пустого абзаца после 21-ой строки.

megaloman
21-06-2019, 23:59
Я не понимаю почему, но среди новых тем у меня почему-то высветилась вот эта. Подобный вопрос у меня всегда вызывает трудности, если в файле есть строки пробельные или пустые. Попробовал еще один вариант решения. Не кидайте в меня камнями за реанимацию трупа.@Echo Off
Set "FileIn=Z:\Box_In\intext.txt"
Set /A N=21

>"%FileIn%.tmp" (FOR /F "usebackq tokens=1* delims=:" %%i IN (`2^>nul FindStr /N /R ".*" "%FileIn%"`) DO (
If "%%i"=="%N%" (Echo.%%j&Echo.) Else (Echo.%%j)
))
>nul Move /Y "%FileIn%.tmp" "%FileIn%"
Exit /B

Iska
22-06-2019, 16:13
Я не понимаю почему, но среди новых тем у меня почему-то высветилась вот эта. »
Предполагаю следующее — потому что:
а) кто-то написал в ней новое сообщение;
б) кто-то из участников счёл это сообщение спамом и «нажал капу»;
в) в соответствии с новой политикой (http://forum.oszone.net/post-2872512.html#post2872512), сообщение было скрыто до его рассмотрения модераторами.

alpap
23-06-2019, 00:27
@echo off
set "f=1.txt"
set s=21

<"%f%">$ (for /f "tokens=1* delims=[]" %%a in ('find /n /v ""') do @<nul set /p="[%%a]"|>nul find "[%s%]" && (
<nul set /p="%%b"& echo:& echo:
) || (
<nul set /p="%%b"& echo:
)
)& >nul move $ "%f%"
pause& exit




© OSzone.net 2001-2012