请问如何用批处理的方法解决下以问题
比如a.txt里面的N条记录,2134567321789146597814659132654783154612454564561......能否在记录前插入一行序号,变成...
比如a.txt里面的N条记录,
2134567
3217891
4659781
4659132
6547831
5461245
4564561
......
能否在记录前插入一行序号,变成如下:
1 2134567
2 3217891
3 4659781
4 4659132
5 6547831
6 5461245
7 4564561
N...... (注:N是未知的) 展开
2134567
3217891
4659781
4659132
6547831
5461245
4564561
......
能否在记录前插入一行序号,变成如下:
1 2134567
2 3217891
3 4659781
4 4659132
5 6547831
6 5461245
7 4564561
N...... (注:N是未知的) 展开
2个回答
展开全部
aaa
bbb
ccc
小计(111345435688768)
ddd
eee
fff
小计(222)
代码如下:
@echo off
setlocal ENABLEDELAYEDEXPANSION
set "fn=test.txt" ::要处理的文件名 处理后的文件名为 ~test.txt,就是源文件名前面加上了~
del "~%fn%" 2>nul
set num=0
for /f "tokens=1-2 delims=()" %%i in (%fn%) do (
set /a num=num+1
if not "%%j"=="" echo !num! %%j>>~~%fn%
)
set "hang=-1"
set str=
set index=1
set "num=0"
set "sig=0"
call :strs
for /f "tokens=*" %%i in (%fn%) do (
set /a num=num+1
if "!hang!"=="!num!" (
set /a index=index+1
call :strs
echo !num! %%i>>~%fn%
) else (
echo !num! !str! %%i>>~%fn%
)
)
del ~~%fn%
pause
exit
:strs
set sig1=0
for /f "tokens=1*" %%8 in (~~%fn%) do (
set /a sig1=sig1+1
if !index!==!sig1! set "hang=%%8" & set "str=(%%9)"
)
bbb
ccc
小计(111345435688768)
ddd
eee
fff
小计(222)
代码如下:
@echo off
setlocal ENABLEDELAYEDEXPANSION
set "fn=test.txt" ::要处理的文件名 处理后的文件名为 ~test.txt,就是源文件名前面加上了~
del "~%fn%" 2>nul
set num=0
for /f "tokens=1-2 delims=()" %%i in (%fn%) do (
set /a num=num+1
if not "%%j"=="" echo !num! %%j>>~~%fn%
)
set "hang=-1"
set str=
set index=1
set "num=0"
set "sig=0"
call :strs
for /f "tokens=*" %%i in (%fn%) do (
set /a num=num+1
if "!hang!"=="!num!" (
set /a index=index+1
call :strs
echo !num! %%i>>~%fn%
) else (
echo !num! !str! %%i>>~%fn%
)
)
del ~~%fn%
pause
exit
:strs
set sig1=0
for /f "tokens=1*" %%8 in (~~%fn%) do (
set /a sig1=sig1+1
if !index!==!sig1! set "hang=%%8" & set "str=(%%9)"
)
壹寰(深圳)科技文化有限公司
2021-03-27 广告
2021-03-27 广告
要找正规专业的公司,行业口碑也比较重要。以上回答如果还觉得不够详细,可以来咨询下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、...
点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
展开全部
@echo off
setlocal EnableDelayedExpansion
if exist __a.txt del __a.txt
set /a c=0
for /f %%i in (a.txt) do (set /a c=c+1
echo !c! %%i>>__a.txt)
运行完后会出现__a.txt 里面的内容满足要求
setlocal EnableDelayedExpansion
if exist __a.txt del __a.txt
set /a c=0
for /f %%i in (a.txt) do (set /a c=c+1
echo !c! %%i>>__a.txt)
运行完后会出现__a.txt 里面的内容满足要求
追问
zhaojiefeng119 |的答复,是可以的,但若几万条记录,好象就不对?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询