本帖最后由 dos大帝 于 2021-10-20 01:17 编辑
回复 10# hentai87
1. delims里不能使用变量, 比如你举例的!Name!;11楼举例的a,b,c等是字符, 不是变量
2. 11楼代码找的是 reg query "HKLM\SYSTEM\CurrentControlSet\Services" 结果中出现至少两次, 且最后出现的值, 而不是需求中出现次数最多的值, 同时如果结果中都没有"_"或相同的"_值"少于两次, 那么结果全部都会打印;
第11行代码中, 如果找到的!Name!存在与于结果路径中, 就达不到楼主需求- @echo off & setlocal enabledelayedexpansion
-
- for /f "delims=" %%i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Services"') do (
- for /f "tokens=1,2 delims=_" %%j in ("%%~nxi") do (
- rem %%k不能含有空格
- if "%%k" neq "" (
- set /a "_%%k+=1"
-
- if !_%%k! GTR !max_cnt! set max_cnt=!_%%k! & set "max_cnt_str=%%k"
- )
- )
- )
-
- if "!max_cnt_str!" equ "" goto ending
-
- for /f "delims=" %%i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Services"') do (
- for /f "tokens=1,2 delims=_" %%j in ("%%~nxi") do (
- if "%%k" equ "%max_cnt_str%" echo %%j
- )
- )
-
- :ending
- endLocal
- pause
复制代码
|