中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-08 19:11
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 又出文本输出加分题了(新手进): 查看 2,428 回复 34
16 发表于 2008-05-24 02:56 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('findstr /n .* a.txt') do (
set str=%%a
for /l %%i in (0 1 9) do set str=!str:%%i=!
set str=!str:*:=!
echo.!str!
)
pause

[ Last edited by pusofalse on 2008-5-24 at 03:03 AM ]
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
17 发表于 2008-05-24 02:58 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
Originally posted by zw19750516 at 2008-5-24 02:52 AM:

想想除了findstr还有什么别的不。不要还泡在findstr里。


find
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
18 发表于 2008-05-24 02:59 ·  中国 江苏 常州 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
替换 替换 再替换
简单!简单!再简单!
19 发表于 2008-05-24 03:04 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
Originally posted by pusofalse at 2008-5-24 02:58:


find

第二题:
delims=0123456789

[ Last edited by zw19750516 on 2008-5-24 at 03:12 AM ]
批处理之家新域名:www.bathome.net
20 发表于 2008-05-24 03:06 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
Originally posted by zw19750516 at 2008-5-24 03:04 AM:

第二题:
delims=0123456789


你改。。。我也实时在改 。。
果然第三题不能这样做。

[ Last edited by pusofalse on 2008-5-24 at 03:11 AM ]
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
21 发表于 2008-05-24 03:10 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
Originally posted by zw19750516 at 2008-5-24 03:04:

第二题:
delims=0123456789

[ Last edited by zw19750516 on 2008-5-24 at 03:06 AM ]

确实巧妙,我怎么没想到呢。。。
致精致简!
22 发表于 2008-05-24 03:11 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
Originally posted by pusofalse at 2008-5-24 02:56:
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('findstr /n .* a.txt') do (
set str=%%a
for /l %%i in (0 1 9) do set str=!str:%%i=!
set str=!str:*:=!
echo.!st ...

怎么老用findstr /n啊,晕。。。
批处理之家新域名:www.bathome.net
23 发表于 2008-05-24 03:18 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
Originally posted by zw19750516 at 2008-5-24 03:11 AM:

怎么老用findstr /n啊,晕。。。


实在是想不出别的方法了~ 请前辈指点`~
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
24 发表于 2008-05-24 03:19 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
用 delims=0123456789 还真不好弄哦?岂不是还要判断每行有几列?
哦! 原来你是第二题这样用,我还以为是第三题呢。。。。

[ Last edited by 26933062 on 2008-5-24 at 03:21 AM ]
致精致简!
25 发表于 2008-05-24 03:20 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
Originally posted by 26933062 at 2008-5-24 03:19:
用 delims=0123456789 还真不好弄哦?岂不是还要判断每行有几列?


@echo off&setlocal enabledelayedexpansion
for /f "delims=0123456789" %%i in (a.txt) do (
set str=%%i
if not "!str:~12!"=="" echo !str!
)
pause>nul
批处理之家新域名:www.bathome.net
26 发表于 2008-05-24 03:23 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
Originally posted by pusofalse at 2008-5-24 03:18:


实在是想不出别的方法了~ 请前辈指点`~


@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
set str=%%i
for /l %%a in (0,1,9) do if defined str set str=!str:%%a=!
echo.!str!
)
pause>nul
批处理之家新域名:www.bathome.net
27 发表于 2008-05-24 03:23 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
原来你是第二题这样用,我还以为是第三题呢。。。。
你这样还要事先知道每行有多少个字符,那还不如这样。
问题二:用批处理找出a.txt中不含数字的行并输出
:

@echo off
for /f "tokens=1* delims=0123456789" %%a in (a.txt) do (
if "%%b"=="" echo %%a
)
pause
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
bat-zw +5 2008-05-24 03:26
致精致简!
28 发表于 2008-05-24 03:25 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
Originally posted by 26933062 at 2008-5-24 03:19:
用 delims=0123456789 还真不好弄哦?岂不是还要判断每行有几列?
哦! 原来你是第二题这样用,我还以为是第三题呢。。。。

[ Last edited by 26933062 on 2008-5-24 at 03:21 AM ]

第三题也应该可以的,就是我还没想到好点的办法。
批处理之家新域名:www.bathome.net
29 发表于 2008-05-24 03:30 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
Originally posted by 26933062 at 2008-5-24 03:23 AM:
原来你是第二题这样用,我还以为是第三题呢。。。。
你这样还要事先知道每行有多少个字符,那还不如这样。
问题二:用批处理找出a.txt中不含数 ...


如果一行中的数字都在行末 那也会输出有数字的这行啊~

[ Last edited by pusofalse on 2008-5-24 at 03:33 AM ]
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
30 发表于 2008-05-24 03:38 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
Originally posted by pusofalse at 2008-5-24 03:30:


如果一行中的数字都在行末 那也会输出有数字的这行啊~

[ Last edited by pusofalse on 2008-5-24 at 03:33 AM ]

确实,
我欠考虑。。。
致精致简!
论坛跳转: