用于计算文件列表中每个字符串的批处理脚本

时间:2017-04-05 15:02:56

标签: batch-file

我的文本文件包含一个在另一个之下的员工代码列表:

KUMAA286
KUMAA286
MATCHS02
GANNAS
MATCHS02
GANNAS

我想要一个批处理脚本,它可以让我在一个output.txt文件中计算每个员工代码。

电子。 G:

The number of KUMAA286 is 2
The number of MATCHS02 is 2
The number of GANNAS is 2

2 个答案:

答案 0 :(得分:1)

简单:

@echo off
setlocal

rem Read the strings and count each one on its corresponding array element
for /F %%a in (input.txt) do set /A "count[%%a]+=1"

rem Show the results
for /F "tokens=2,3 delims=[]=" %%a in ('set count[') do echo The number of %%a is %%b

答案 1 :(得分:0)

矛盾自己;-)
在将每个条目与前一个条目进行比较之前,您必须对列表进行排序 如果相同的计数 如果不是相同的输出计数和最后一个条目。

要获得不同的计数,请更改此列表:

Dotenv\Dotenv

这批次

KUMAA286
GANNAS
KUMAA286
MATCHS02
GANNAS
GANNAS

将返回:

@Echo off&SetLocal EnableExtensions EnableDelayedExpansion
Set Cnt=-1
Set Last=n/a
For /f %%A in (' Sort Employees.txt') Do (
  if %%A neq !Last! (
    if !Cnt! geq 1 Echo The number of !Last! is !Cnt!
    Set Cnt=1
    Set Last=%%A
  ) Else (
    Set /A Cnt+=1
  )
)
If %Cnt% geq 1 Echo The number of !Last! is !Cnt!