0

我有一个术语列表,并且我有包含其中一些术语的大型文本文件。我的任务是在与原始文本文件相同的目录中为每个术语提供一个文本文件。


listofterms.txt 之前(苹果核、桃子、烤牛肉、紫菜包裹的东西等

之后
apple cores.txt、peaches.txt、烤牛肉.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
4

1 回答 1

2

这可能对你有用:

for /f "delims=" %%a in ('findstr /xg:listofterms.txt LargeFileOfFoodWords.txt') do (type nul>"%%~a.txt"&echo(%%~a>"result.txt")

如需更多帮助,请输入help forhelp findstr

于 2013-11-06T23:10:59.830 回答