中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-13 00:01
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何使用for 語句進行查詢? 查看 708 回复 3
楼 主 如何使用for 語句進行查詢? 发表于 2009-12-21 16:27 ·  中国 江苏 苏州 电信
初级用户
积分 50
发帖 27
注册 2008-11-08 15:33
17年会员
UID 130380
性别 男
来自 南京
状态 离线
如何查詢一個txt文件中的特定字符數量?比如一個文件中有許多"."即頓號,用批處理怎麼才能查出它的數量呢?用for 語句可以嗎?期待大俠指點!
怅然怡然,若失若得.
2 发表于 2009-12-21 17:45 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
给你个示例:
::计算批处理文件名的长度
@echo off &setlocal enabledelayedexpansion
set Han=%~n0
:Guxing
if not "!Han:~%Ye%,1!"=="" set /a Ye+=1 &goto Guxing
echo 本批处理文件名“%Han%”共有 %Ye% 个字符 &pause
3 发表于 2009-12-21 17:51 ·  中国 北京 中电华通通信有限公司
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
文本操作还是用脚本比较好。一种批处理解决方案:


@echo off
:: 文本文件
set textfile=test.txt
:: 要找的字符
set char=.
:: 一行最长有多长
set /a width=1000

setlocal enabledelayedexpansion
set /a num=0
for /f "delims=" %%i in (%textfile%) do (
set oneline=%%i
for /l %%j in (0,1,%width%) do if "!oneline:~%%j,1!"=="%char%" set /a num+=1
)
echo 文件%textfile%中字符串%string%出现的次数是%num%次。
pause > nul
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
konkoo +2 2009-12-21 19:04
┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
4 发表于 2009-12-21 19:04 ·  中国 江苏 苏州 电信
初级用户
积分 50
发帖 27
注册 2008-11-08 15:33
17年会员
UID 130380
性别 男
来自 南京
状态 离线
十分感謝!!!!!!!!!
怅然怡然,若失若得.
论坛跳转: