找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: hentai87

[文本处理] 批处理如何获取字符列表出现次数最多的字符?

[复制链接]
 楼主| 发表于 2021-9-6 23:46:53 | 显示全部楼层
回复 15# newswan

加了in结果为空
    echo off
setlocal   ENABLEDELAYEDEXPANSION

for /f "delims=\ tokens=5" %%i in ('REG QUERY "HKLM\SYSTEM\CurrentControlSet\Services"') do (
    for /f "delims=_ tokens=2" %%k in ("%%i") do (
        set /a count_%%k+=1
    )
)
set count=0
for /f "usebackq tokens=2-3 delims=_=" %%a in (`set count_`) do (
    if "%%b" GTR "!count!" (
        set count=%%b
        set name=%%a
    )
)
pause
发表于 2021-9-6 23:51:17 | 显示全部楼层
最后
echo %name%
 楼主| 发表于 2021-9-7 00:08:22 | 显示全部楼层
回复 17# newswan

结果不对。。不是次数最多的
发表于 2021-9-7 00:12:26 | 显示全部楼层
回复 18# hentai87


if 后面 把引号去掉
发表于 2021-9-7 13:33:33 | 显示全部楼层
本帖最后由 WHY 于 2021-9-7 19:42 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "Max=0"
  4. for /f "delims=" %%i in ('REG QUERY "HKLM\SYSTEM\CurrentControlSet\Services"') do (
  5.     for /f "tokens=2 delims=_" %%k in ("%%~nxi") do (
  6.         set /a _%%k+=1
  7.         if !_%%k! GTR !Max! set "Max=!_%%k!" & set "Name=%%k"
  8.     )
  9. )
  10. echo;!Max! !Name!
  11. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
hentai87 + 1 乐于助人

查看全部评分

发表于 2021-9-7 15:51:05 | 显示全部楼层
回复 16# hentai87
  1. @echo off
  2. for /f "tokens=5 delims=" %%i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Services"') do (
  3.     for /f "tokens=2 delims=_" %%j in ("%%i") do (
  4.         set /a count_%%j+=1
  5.     )
  6. )
  7. set count=0
  8. for /f "tokens=2-3 delims=_=" %%a in ('set count_') do (
  9.     if %%b gtr !count! (
  10.         set "count=%%b"
  11.         set "name=%%a"
  12.     )
  13. )
  14. echo !name!: !count!
  15. endlocal
  16. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
hentai87 + 1 乐于助人

查看全部评分

发表于 2021-9-7 19:43:37 | 显示全部楼层
本帖最后由 WHY 于 2021-9-7 20:25 编辑
  1. $arr = dir HKLM:\SYSTEM\CurrentControlSet\Services | ?{ $a = $_.Name.Split('\')[-1].Split('_'); $a.Count -ge 2 } | forEach{$a[1]} | group | sort Count -Desc;
  2. '' + $arr[0].Count + ' ' + $arr[0].Name
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 01:39 , Processed in 0.022945 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表