
求助批處理兩個文本比較相同字符串并輸出到新的文本文件我有兩個utf-8編碼的文本文件a.txt和b.txt,是收集的英文單詞和短語,每行一個,想要實現查找這兩個文本文件中相同的單詞和詞組(不區分單詞大小寫),并輸出到新建的文本C.txt中。在網上搜到這么一段批處理代碼:
但在處理文本時出現了好幾個問題,比如:a.txt內容:aerobicaerobic activityaerobic-arrestaerobic bacteriaaffinityaffinity absorbentaffinity adsorptionaffinity attractionaffinity banding agentb.txt內容:aerobicaerobic activityaerobic-arrestaerobic bacteriaaffinityaffinity absorbentaffinity-adsorptionaffinity attractionaffinity bindingaffinity banding agentaffinity choline transportaffinity-coefficientaffinity coelectrophoresisaffinity columnaffinity constant得到的c.txt卻是:aerobicaerobicactivityaerobic-arrestaerobicbacteriaaffinityaffinityabsorbentaffinityattractionaffinityaffinitybandingagentaffinityaffinityaffinityaffinity出現的問題:1. a文本中以空格隔開的詞組,與b文本對比后,詞組被拆開成單個單詞存在c文本中,如affinity banding agent被拆分成三個單詞;2. a文本中單個單詞如果在b文本中遇到該單詞開頭的帶有空格的詞組時,會提取詞組中開頭的這個單詞并存在c文本中,如a中affinity去查詢b文本中的詞組affinity coelectrophoresis,affinity column,affinity constant等時,會將詞組中的affinity全部提取出來;3. a文本中單個單詞如果在b文本中遇到該單詞開頭的帶有-連字符詞組時,命令行窗口呈現假死狀態,程序停頓進行不下去。懇請各位大神給個可靠的批處理代碼解決上述的問題,多謝了!nclick="copycode($('code0'));">復制代碼
- @echo off&cd/d %~dp0
- echo 請等候...
- for /f usebackq delims= %%i in (a.txt)do (
- for %%j in (%%i)do set %%j=yes)
- for /f usebackq delims= %%i in (b.txt)do (
- for %%j in (%%i)do if defined %%j echo %%j>>c.txt)
- set/p=處理完成,正在退出... >nul
- ping /n 3 127.1>nul

