批处理字符如何替换成回车符或换行。
比如说我爱你%0d%0a你爱我%0d%0a你你你%0d%0a我我我替换后:我爱你你爱我你你你我我我谢谢。!...
比如说
我爱你%0d%0a你爱我%0d%0a你你你%0d%0a我我我
替换后:
我爱你
你爱我
你你你
我我我
谢谢。! 展开
我爱你%0d%0a你爱我%0d%0a你你你%0d%0a我我我
替换后:
我爱你
你爱我
你你你
我我我
谢谢。! 展开
展开全部
批处理编写时最好使用专门的编辑软件或者功能强大的文本编辑器就可以了。
一般不要使用批处理来替换或更改已经编好的内容,容易造成不可逆的损失;
文本内容可以使用下面的例子,删除字符并换行。
改编自: 迷茫之雁 的回答实例。
----------------------------------------------------------------------
@echo off>tmp.txt
set REN=
set /p REN=输入要删除的字符:
for /f "delims=" %%i in (a.txt) do (
set "s=%%i"
call set "s=%%s:%REN%=&echo.%%"
call call :write "echo.%%s%%"
)
start tmp.txt
exit
:write
(%~1)>>tmp.txt
goto :eof
一般不要使用批处理来替换或更改已经编好的内容,容易造成不可逆的损失;
文本内容可以使用下面的例子,删除字符并换行。
改编自: 迷茫之雁 的回答实例。
----------------------------------------------------------------------
@echo off>tmp.txt
set REN=
set /p REN=输入要删除的字符:
for /f "delims=" %%i in (a.txt) do (
set "s=%%i"
call set "s=%%s:%REN%=&echo.%%"
call call :write "echo.%%s%%"
)
start tmp.txt
exit
:write
(%~1)>>tmp.txt
goto :eof
展开全部
这类的确不适宜用批处理解决,高手们懒得费神,我给小心地硬拼溱了一段,也就适宜楼主说的“比如”情况,若是有类似的还不敢说可以。
假定要换的就是%0d%0a(把它变换行),且每行最多有四处(再多要改 12345及bcdef顺延...)
@echo off &setlocal enabledelayedexpansion
echo 正在处理...
copy nul na.txt>nul
for /f "delims=" %%a in (a.txt) do (
set "hh=%%a"
set "hh=!hh:%%0d%%0a=■!"
for /f "tokens=1,2,3,4,5 delims=■" %%b in ('echo !hh!') do (
if "%%b" neq "" echo.%%b
if "%%c" neq "" echo.%%c
if "%%d" neq "" echo.%%d
if "%%e" neq "" echo.%%e
if "%%f" neq "" echo.%%f
)>>na.txt
)
start na.txt
echo 完成。&ping /n 2 127.1>nul
假定要换的就是%0d%0a(把它变换行),且每行最多有四处(再多要改 12345及bcdef顺延...)
@echo off &setlocal enabledelayedexpansion
echo 正在处理...
copy nul na.txt>nul
for /f "delims=" %%a in (a.txt) do (
set "hh=%%a"
set "hh=!hh:%%0d%%0a=■!"
for /f "tokens=1,2,3,4,5 delims=■" %%b in ('echo !hh!') do (
if "%%b" neq "" echo.%%b
if "%%c" neq "" echo.%%c
if "%%d" neq "" echo.%%d
if "%%e" neq "" echo.%%e
if "%%f" neq "" echo.%%f
)>>na.txt
)
start na.txt
echo 完成。&ping /n 2 127.1>nul
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询