Batch file 从txt文件中批量删除

Batch file 从txt文件中批量删除,batch-file,pipe,text-files,Batch File,Pipe,Text Files,我需要从.txt文件中删除|。 它应该位于: @echo off setlocal enabledelayedexpansion set INTEXTFILE=buffer.txt set OUTTEXTFILE=test_out.txt set SEARCHTEXT=^| set REPLACETEXT= set OUTPUTLINE= for /f "tokens=1,* delims=¶" %%A in ( '"type %INTEXTFILE%"') do ( SET string=%

我需要从.txt文件中删除|。 它应该位于:

@echo off
setlocal enabledelayedexpansion
set INTEXTFILE=buffer.txt
set OUTTEXTFILE=test_out.txt
set SEARCHTEXT=^|
set REPLACETEXT=
set OUTPUTLINE=

for /f "tokens=1,* delims=¶" %%A in ( '"type %INTEXTFILE%"') do (
SET string=%%A
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!

echo !modified! >> %OUTTEXTFILE%
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
但它不起作用 目前的答案是:字符串:


我也尝试了|和\ |。这里需要引号,以避免解析器试图处理管道字符

@echo off
setlocal enabledelayedexpansion
set INTEXTFILE=buffer.txt
set OUTTEXTFILE=test_out.txt
set "SEARCHTEXT=|"
set "REPLACETEXT="
set OUTPUTLINE=

for /f "tokens=1,* delims=¶" %%A in ( '"type %INTEXTFILE%"') do (
  SET "string=%%A"
  SET "modified=!string:%SEARCHTEXT%=%REPLACETEXT%!"

  echo(!modified!
) > %OUTTEXTFILE%
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%