通过批处理文件查找和删除文本中的单词

find and delete a word in a text by batch file

大家好我想通过批处理文件查找和删除一些单词我试过这个:

@Echo OFF
REM Set These Variables
SET "InFile=Unloaded.txt"
SET "OutFile=NowLoaded.txt"
SET "Replace=%r%"
SET "ReplaceWith=  "

REM Get Total Lines Number [including empty lines]
FOR /F %%A IN ('TYPE "%InFile%"^|find /v /c ""') DO SET "Till=%%A"

REM Create The OutFile with changes
SETLOCAL EnableDelayedExpansion
<"!InFile!" (
  FOR /L %%a IN (1 1 0) DO SET /p "="
  FOR /L %%A IN (1 1 %Till%) DO (
    SET "line="
    SET /P "line="
    IF "!line!x" == "x" ( Echo.
   ) ELSE ( Echo !line:%Replace%=%ReplaceWith%!)
  )
)>>"%OutFile%"

ENDLOCAL

但在输出而不是删除时显示 Echo Is Off。 请帮助我谢谢。

看看replacer.bat。您可以像这样使用它来删除文本文件中的单词:

call replacer.bat text.txt "word" ""

更强大的解决方案是JREPL.bat and FindRepl.bat