高手门:需要个批处理在批量文本文件的第一行行首和行尾插入不同的指定字符
如题是在批量文本的第一行,如果第一行是空行,那就需要顺延一行,直到有文字行行首添加字或者字符(如“$$$$”,这类的),行尾则是不同的字或者字符怎么样才可实行???请说明...
如题
是在批量文本的第一行,如果第一行是空行,那就需要顺延一行,直到有文字行
行首添加字或者字符(如“$$$$”,这类的),行尾则是不同的字或者字符
怎么样才可实行???请说明下可在代码中可更改添加的地方。在此先谢谢了! 展开
是在批量文本的第一行,如果第一行是空行,那就需要顺延一行,直到有文字行
行首添加字或者字符(如“$$$$”,这类的),行尾则是不同的字或者字符
怎么样才可实行???请说明下可在代码中可更改添加的地方。在此先谢谢了! 展开
3个回答
展开全部
修改当前文件夹中的txt文件
@echo off
set "行首=$$$$"
set "行尾=####"
for %%a in (*.txt) do (
set ".="
(for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%%a"') do (
if defined . (
echo,%%b
) else (
if not "%%b"=="" (
set .=.
echo %行首%%%b%行尾%
)
)
))>$
move $ "%%a"
)
展开全部
@echo off&setlocal enabledelayedexpansion
set n=1
for /f "delims=:" %%a in ('findstr /v /r /c:"^[ ]*$" "test.txt"') do (
"set stline=%%a"
goto :begin
)
:begin
(for /f "tokens=1* delims=:" %%a in ('findstr .* "test.txt"') do (
if !n! lss %stline% echo.%%b
if !n! equ %stline% (
echo.xxx%%byyy
echo.
more +%stline% "test.txt"
goto :end
)
set /a n+=1
))>$
:end
move $ "test.txt"
pause
所有出现文件名test.txt的地方,可以修改为实际文本文件的文件名
if !n! equ %stline% (
echo.xxx%%byyy ::此处表示行首添加xxx,行尾添加yyy,xxx,yyy可以换成其它字符
echo.
more +%stline% "test.txt"
goto :end
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off
cd /d %~dp0
set file=xxx.txt
set TA=$$$$
set TB=####
cd.>"%file%_tmp.txt"
setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%file%"') do (
set str=%%b
if "!str!"=="" echo.!str!>>"%file%_tmp.txt"
if not !n!==1 (
if not "!str!"=="" (
set txt=%TA%!str!%TB%
echo !txt!>>"%file%_tmp.txt"
set n=1
)
) else (
echo.!str!>>"%file%_tmp.txt"
)
)
start "" "%file%_tmp.txt"
exit
如果空行中包含空格,这个批处理将会认为是有字符的行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询