Эта версия будет записывать с test.txt
в test2.txt
:
@echo off
setlocal enabledelayedexpansion
set "myfile=test.txt"
set "outputfile=test2.txt"
for /f "tokens=*" %%a in ('type "%myfile%" ^| find /v /n "" ^& break ^> "%myfile%"') do (
set "str=%%a
set "str=!str:]=: !"
set "str=!str:[=!"
>>%outputfile% echo(!str!
)
Эта версия будет записывать обратно в исходный файл test.txt
и записывать обратно в test.txt
, перезаписывая его:
@echo off
setlocal enabledelayedexpansion
set "myfile=test.txt"
for /f "tokens=*" %%a in ('type "%myfile%" ^| find /v /n "" ^& break ^> "%myfile%"') do (
set "str=%%a
set "str=!str:]=: !"
set "str=!str:[=!"
>>%myfile% echo(!str!
)
Что будет делать то, что вы хотите:
1: hello
2: how
3: are
4: you
Примечание , это также будет нумеровать \n
другими словами новые пустые строки.Так, например, если у вас есть:
hello
how
are
you
Это приведет к:
1: hello
2:
3: how
4: are
5: you