我試圖在記事本++中進行批處理,它將計算所選文本中重複行的數量。通過文件循環批處理
到目前爲止,我有記事本+做工精細
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
您是否認爲記事本++會導致此行爲? – Endoro 2013-04-05 18:29:10
我不認爲記事本+ +是這裏的問題,儘管我包含代碼以防有人可以確認或否認。更新問題以更好地解釋這一點。 – 2013-04-05 18:30:55
你怎樣稱呼你的批處理文件(以及你傳入的參數);即在這個例子中'%1'解析了什麼? – 2013-04-05 18:53:39