批處理顯示文字中重複出現的內容,批處理比對多文字檔案的 找出相同內容另存為乙個文字

2022-10-10 01:31:27 字數 3074 閱讀 3692

1樓:匿名使用者

你太想當然了。批處理最不擅長的就是進行字串處理。建議你還是學乙個sed或者gawk之類的專門用來處理字串的工具的用法。

需要學正規表示式,太麻煩,平常用不到,好不容易學會了,幾天就忘了。

2樓:匿名使用者

@echo off

setlocal enabledelayedexpansion

for /f "tokens=*" %%i in (1.txt) do (

for %%j in (%%i) do (set /a #%%j+=1))

(for /f "delims=#=" %%i in ('set #^|findstr /v =1') do if not "%%i"=="" set /p s=%%i 2.txt

start 2.txt

如果只顯示不需要輸出到txt,如下

@echo off

setlocal enabledelayedexpansion

for /f "tokens=*" %%i in (1.txt) do (

for %%j in (%%i) do (set /a #%%j+=1))

for /f "delims=#=" %%i in ('set #^|findstr /v =1') do if not "%%i"=="" set /p s=%%i

pause

批處理比對多文字檔案的 找出相同內容另存為乙個文字

3樓:匿名使用者

@echo off

set "bf=1.txt"

(for /f "usebackq tokens=1-2*" %%a in ("%bf%") do (

findstr /r "%%b\>" "d:\新建資料夾\*.txt" >>>result.

txtpause

將要用於查詢的檔案(1.txt)和批處理放在一起,也可設定1.txt路徑.

將1.txt和要查詢的檔案分開存放,這樣**執行更有效率.下面的**可以直接將批處理和要查詢的檔案放在一起使用.

set "bf=1.txt"

(for /f "usebackq tokens=1-2*" %%a in ("%bf%") do (set n=

for /f "delims=" %%i in ('dir /a-d/b *.txt^|findstr /vr "%bf%\>"') do (

findstr /r "%%b\>" "%%i" >nul&&(set /a n+=1))

if !n! gtr 0 (if %%b gtr 500000 (echo +%%b) else echo -%%b)))>>result.txt

pause

4樓:匿名使用者

批處理可能難以實現,建議匯入excel用函式處理。如果這類工作固定模式頻繁重複,找人寫個小程式,或在acess中處理。

用批處理 查詢txt檔案內的字元並統計出現的次數

5樓:

不清楚你的實際檔案/情況,僅以問題中的樣例/說明為據;以下**複製貼上到記事本,另存為xx.bat,編碼選ansi,跟要處理的檔案放一起雙擊執行

/*&cls&echo off

rem 統計乙個指定字串在乙個txt文字檔案裡出現的次數

title %#% +%$%%$%/%@% %z%

cd /d "%~dp0"

set "txtfile=a.txt"

set "findword=指定字串"

if not exist "%txtfile%" (echo;"%txtfile%" 未找到&pause&exit)

type "%txtfile%"|cscript -nologo -e:jscript "%~f0" "%findword%"

echo;%#% +%$%%$%/%@% %z%

pause

exit

*/var text=wsh.stdin.readall();

var str=wsh.arguments(0);

var index=0,count=0;

while((index=text.indexof(str, index)) != -1)

wsh.echo(count);

6樓:匿名使用者

將a檔案拖放到批處理的上方放開執行,**如下:

if %1=="" (echo 請拖放文字到批處理圖示&pause&exit) else (

set/p #=輸入要查詢的字元:)

set/pstr=<%1

for %%1 in (!str!)do if "%%1"=="!#!" set/a .+=1

echo !#!出現了!.!次

pause

7樓:

推薦用軟體replace pioneer來做,很簡單,詳細步驟:

1. 開啟tools->pattern counter選單2. 選中file/http選項,並在右邊選擇待處理檔名3. 選中word行,按detail按鈕,即得出各詞的統計:

number word

**********==

4 44

3 33

1 55

**********==

如想自己統計特定的字串,可以按以下步驟:

4. 點選clear按鈕

5. 點選add按鈕,在name輸入33,在pattern=>下面輸入\b33\b點選ok

6. 重複第4步,在name輸入55,在pattern下面輸入\b55\b點選ok

7. 點選count即可得出33和55的出現次數

批處理文字內容。我想批量處理文字的內容,功能是刪除每個文字的其中一行的行首的前幾個字或者行尾的

echo off 下一行指定行數 hn 和刪除幾字元 sn 如刪行尾寫成負數set a hn 7,sn 3 if sn lss 0 set sn sn for i in txt do echo i for f tokens 1 delims j in findstr n i do if j equ ...

批處理替換指定檔案中的內容,批處理替換指定檔案中的內容

如果有特殊字元!會出錯啊。說明 setd d 是吧替換成了兩個空格,你可以改成沒有空格。儲存為bat檔案。在txt檔案所在目錄裡執行。echooffecho0 tem nulsetlocalenabledelayedexpansionfor f delims ain dir a d b b do s...

批處理命令根據文字裡面內容生成新的文字

複製貼上到記事本,另存為xx.bat,編碼選ansi,跟要處理的檔案放一起執行 echo off rem 根據乙個指定的txt檔案裡的每一行內容建立 生成多個txt檔案 title z cd d dp0 for f tokens 1 delims a in type a.txt do echo a ...