中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 15:50
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » [已解决]把文本里每行以0开头的编号中的0删除
可打印版本  1,119 / 6
第1楼 userwww 发表于 2007-10-05 16:35
初级用户 发帖 57 积分 136
[已解决]把文本里每行以0开头的编号中的0删除
把文本里每行以0开头的编号中的0删除
如下

00001 张三 >>> 1 张三
00002 李四 >>> 2 李四
00003 王五 >>> 3 王五
............... >>> ........


但我参考某位高人的P改了一下,却把空格后面的部分给忽略了,得出

00001 张三 >>> 1
00002 李四 >>> 2
00003 王五 >>> 3
............... >>> ...

for /f "delims=*" %%a in (00.txt) do call :next %%a
echo Finish...
goto :eof
:next
set pp=%1

:loop
if %pp:~0,1%==0 set pp=%pp:~1%& goto :loop
@echo %pp% >>ww.txt

不知哪里出错,请指点一下

[ Last edited by userwww on 2007-10-5 at 11:39 PM ]
第2楼 lxmxn 发表于 2007-10-05 17:11
版主 发帖 4,938 积分 11,386
for /f "delims=" %%a in (00.txt) do call :next "%%a"
echo Finish...
goto :eof
:next
set pp=%~1

:loop
if %pp:~0,1%==0 set pp=%pp:~1%& goto :loop
@echo %pp% >>ww.txt
第3楼 userwww 发表于 2007-10-05 23:39
初级用户 发帖 57 积分 136
可以用了,谢谢lxmxn
第4楼 digger 发表于 2007-10-06 00:17
初级用户 发帖 29 积分 79 来自 湖南
第5楼 userwww 发表于 2007-10-06 16:19
初级用户 发帖 57 积分 136
呵呵,4F的P真简洁,一个For就搞定了,收下采用,谢谢
第6楼 For 发表于 2008-11-26 19:13
新手上路 发帖 14 积分 18
这个解决了我问题顶一下~!4楼的最好~!
第7楼 mountvol 发表于 2008-11-27 09:12
初级用户 发帖 117 积分 186
Originally posted by For at 2008-11-26 19:13:
这个解决了我问题顶一下~!4楼的最好~!

记录超过10条再看看。
后面的名字中若有0也会出错。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023