在 Windows XP 中使用批处理脚本(.bat 文件),我将如何读取文本文件并查找存在多少个字符实例?
例如,我有一个包含以下内容的字符串:
""OIJEFJ"JOIEJKAJF"""LKAJFKLJEIJ""JKLFJALKJF"LKJLKFA""""LKJKLFJLKADJF
我想让它数一下有多少个"
文件中有并返回计数。
让我们开始计算一行中的字符。首先是缓慢而清晰的方法:
set i=-1
set n=0
:nextChar
set /A i+=1
set c=!theLine:~%i%,1!
if "!c!" == "" goto endLine
if !c! == !theChar! set /A n+=1
goto nextChar
:endLine
echo %n% chars found
现在是快速而神秘的方法:
call :strLen "!theLine!"
set totalChars=%errorlevel%
set strippedLine=!theLine:%theChar%=!
call :strLen "!strippedLine!"
set /A n=totalChars-%errorlevel%
echo %n% chars found
goto :eof
:strLen
echo "%~1"> StrLen
for %%a in (StrLen) do set /A StrLen=%%~Za-4
exit /B %strLen%
最后是计算文件中字符的方法:
set result=0
for /F "delims=" %%a in ('findstr "!theChar!" TheFile.txt') do (
set "theLine=%%a"
place the fast and cryptic method here
set /A result+=n
)
echo %result% chars found
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)