我有一个术语列表,我有大文本文件,其中包含一些术语。我的任务是为与原始文本文件在同一目录中的每个术语提供一个文本文件。
BEFORE
listofterms.txt(苹果核心,桃子,烤牛肉,紫菜包裹的东西等等)
LargeFileOfFoodWords.txt(范围为20-20,000条单行非重复文本)
AFTER
apple cores.txt,peaches.txt,roast beef.txt,包含在nori.txt中的东西(等等......)
LargeFileOfFoodWords.txt(原始文件,未更改 - 或者如果可能,提取所有'listofterms')
使用以下bat文件,我可以使用单个单词执行此操作。但是,生成的文件包含批处理文件所在目录中的所有文件的路径。连续搜索还包括apple cores.txt,peaches.txt等...
所以我有一些元素在工作,需要调整以下内容:
如果你想自己测试,这个脚本将适用于任何.txt文件,并为你提供“SearchTerm.txt”。
@echo off
set RESULT_FILE="result.txt"
set /p "buck1=Enter Bucket Word or Phrase to find:"
pushd %~p0type NUL > %RESULT_FILE%.tmp
for /f "delims=" %%a in ('dir /s/-b/l *.txt')
do (for /f %%c in ('find /i /c "%buck1%" "%%a"')
do (for /f "tokens=*" %%f in ('find /i "%buck1%" "%%a"')
do if %%c neq 0 echo :`%%f))>>"%RESULT_FILE%".tmp
move %RESULT_FILE%.tmp %buck1%.txt >nul 2>&1
popd
答案 0 :(得分:2)
这可能适合你:
for /f "delims=" %%a in ('findstr /xg:listofterms.txt LargeFileOfFoodWords.txt') do (type nul>"%%~a.txt"&echo(%%~a>"result.txt")
如需更多帮助,请输入help for
和help findstr
。