中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-30 05:47
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [精彩][批处理字符出现次数统计] 精华I 查看 23,632 回复 41
31 发表于 2006-11-30 06:14 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
19年会员
UID 63324
性别 男
状态 离线
youxi01兄能否讲讲简单的实现原理和想法?
这样既方便学习又可以更好的理解与阅读代码~:)
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
32 发表于 2006-11-30 07:03 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
redtek兄,我运行你15楼的代码,总是一闪而过,不知为何。郁闷……
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
33 发表于 2006-11-30 07:32 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
19年会员
UID 63324
性别 男
状态 离线
没加Pause,哈哈……
我命令行上操作的:)
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
34 发表于 2006-11-30 07:38 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
什么命令行那么牛?
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
35 发表于 2006-11-30 07:48 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
19年会员
UID 63324
性别 男
状态 离线
哈哈……
总是一闪而过是你用记事本存到(可能存到桌面了),
那个批处理代码中没有运行完后 pause 等待按任意键再退出,
结果直接鼠标双击那个批处理文件就一闪运行完了就自动退出并关上了CMD Shell窗口了:)

先进入 CMD Shell 命令窗口,在那里面键入 ...BAt再运行:)
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
36 发表于 2006-11-30 08:18 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
Re lxmxn 『第 23 楼』:

  无奈何兄7F的代码也存在类似问题,原因出在if %%j GTR !l! set l=%%j & set m=%%i 和 if !.%1! GTR !maxN! set maxN=!.%1! && set max=.%1 这两句上,都是同样的问题:&和&&前都多了一个空格。把这个空格去掉就可以了。
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
tao0610 +2 2006-11-30 08:29
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
37 发表于 2006-11-30 08:23 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
15楼的在“set . & goto :eof”改为“set . &pause& goto :eof”即可

最简单的^_^
@echo off
setlocal EnableDelayedExpansion
set str=adadfdfseffserfefsefseetsdgadadfdfseffserfefsefseetsdga

:loop
set str$=%str$% %str:~0,1%&set str=%str:~1%
if not "%str%" == "" goto loop

for %%n in (%str$%) do (
set /a .%%n+=1
if !.%%n! GTR !maxN! set maxN=!.%%n!&&set max=%%n)
set .
echo 出现次数最多的:%max%=%maxN%
pause
exit
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
namejm +2 2006-11-30 08:31
38 发表于 2006-11-30 08:26 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
Originally posted by namejm at 2006-11-29 20:18:
Re lxmxn 『第 23 楼』:

  无奈何兄7F的代码也存在类似问题,原因出在if %%j GTR !l! set l=%%j & set m=%%i 和 if !.%1! GTR !maxN! set maxN=!.%1! && set max=. ...

确实如此,我在 18 楼改的也是,一般建议用&、&&连接的最好不要有空格
39 发表于 2006-11-30 08:27 ·  中国 北京 朝阳区 联通
高级用户
★★
朦胧的世界
积分 579
发帖 218
注册 2006-10-24 04:29
19年会员
UID 67972
状态 离线
看来格式规范很重要.

认识自己,降伏自己,改变自己
,才能改变别人!
40 发表于 2007-01-08 22:11 ·  中国 广西 梧州 电信
新手上路
积分 5
发帖 3
注册 2006-11-21 04:48
19年会员
UID 71207
性别 男
状态 离线
Originally posted by tao0610 at 2006-11-29 04:29 PM:
用for /l 的我也贴一个!
@echo off&setlocal enabledelayedexpansion
set str=adadfdfseffserfefsefseetsdgdsfjkljdsklfjdsfdsgdsafdsaf

for /l %%i in (0,1,100) do (
if "!str:~% ...



看了这么久...还是这位朋友写得比较好!
41 发表于 2007-04-22 05:04 ·  中国 江苏 无锡 电信
初级用户
积分 80
发帖 43
注册 2007-04-21 23:44
19年会员
UID 86017
性别 男
状态 离线
if !%1! GTR !maxN! set maxN=!%1! & set max=%1

什么意思啊~~~
42 谢谢大家了哈 发表于 2008-01-08 02:02 ·  中国 四川 自贡 大安区 电信
初级用户
积分 30
发帖 10
注册 2007-11-19 23:42
18年会员
UID 103177
性别 男
状态 离线
谢谢大家了哈,
作为新人我很想看到这么的好代码, 够好好学习的了。

很是受用````

就是想问问斑竹以后能不能多一些这样的活动,好给我们新人一个好的学习的机会???/



代表新人向大家说声谢谢
论坛跳转: