我正在尝试在 Notepad++ 中进行批处理,以计算所选文本中重复行的数量。
到目前为止,我的 Notepad++ 工作正常
NPE_CONSOLE v+
CLS
ECHO $(CURRENT_WORD)
CON_SAVETO "H:\tmp.txt"
NPE_CONSOLE v-
此脚本将选定的文本保存到tmp.txt
其中,唯一的问题是它包含在底部,CON_SAVETO "H:\tmp.txt"
但我现在可以忍受。
编辑:另外,我不认为 Notepad++ 是这里的问题,因为我尝试从cmd
行运行批处理文件并得到相同的错误/问题。我也尝试tmp.txt
手动设置文件,但仍然存在同样的问题。
我的批处理文件是导致问题的原因:
::@ECHO OFF
CD "H:\"
SET counter=0
SET prev=a
FOR /F "tokens=*" %%L IN (tmp.txt) DO (
SET blnOut=0
SET curLine="%%L"
IF /I %prev%==%curLine% (
SET counter=%counter%+1
SET blnOut=1
)
IF %blnOut%==0 (
IF %prev%==a (
SET counter=%counter%+1
SET blnOut=1
)
IF %blnOut%==0 (
ECHO %curLine%- %counter%
SET counter=1
)
)
SET prev=%curLine%
)
我已经尝试了所有我能想到的方法,包括将进程拆分为一个函数,但我不断收到错误消息,Unexpected )
或者,如果它运行,它不会循环遍历文件。
目前,这是tmp.txt
:
1
2
3
4
5
6
7
8
1
4
5
8
4
3
4
4
5
所以理想的输出是:
1 - 2
2 - 1
3 - 2
4 - 5
5 - 3
6 - 1
7 - 1
8 - 2