通过批处理文件查找和删除文本中的单词
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。
大家好我想通过批处理文件查找和删除一些单词我试过这个:
@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。