有这样的一个文件,它的第二行中有一个数值为0344499084,现在想将34前面的0去掉,此数值有可能在下面的其他行中也有,但只需要将第二行中的数据034替换成34就可以了,请高手指导一下问如何写这样的批处理。万分感谢!
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off
>test.txt echo 0344499084一
>>test.txt echo 0344499084二
>>test.txt echo 0344499084三
for /f "tokens=1,2* delims=:" %%i in ('type "test.txt"^|findstr /b /n "034"') do (
if "%%i"=="2" set "str=%%j"
)
set "str=%str:034=34%"
echo %str%
pause@echo off & Setlocal EnableDelayedExpansion
for /f "tokens=1* delims=:" %%i in ('findstr /n .* test.txt') do (
set string=%%j
if "%%i"=="2" (set string=!string:034=34!)
>>new-file.txt echo\!string!
)
start notepad new-file.txt