Batch file 从txt文件中批量删除
我需要从.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=%
@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%