String 如何通过使用'=';使用.bat脚本的文件中的符号? 如何通过使用.bat脚本在文件中搜索“=”符号来替换文本行?
我有一个文本文件test.txt,文本为 =================================================String 如何通过使用'=';使用.bat脚本的文件中的符号? 如何通过使用.bat脚本在文件中搜索“=”符号来替换文本行?,string,batch-file,replace,find,String,Batch File,Replace,Find,我有一个文本文件test.txt,文本为 ================================================= PATH=C:\ProgramFiles\Think\Digit\Trunk.exe WORD=C:\ProgramFiles\Microsoft\Word12\Word.exe @echo off setlocal enabledelayedexpansion set INTEXTFILE=C:\Users\PrasanthReddy\Desk
PATH=C:\ProgramFiles\Think\Digit\Trunk.exe
WORD=C:\ProgramFiles\Microsoft\Word12\Word.exe
@echo off
setlocal enabledelayedexpansion
set INTEXTFILE=C:\Users\PrasanthReddy\Desktop\test.txt
set OUTTEXTFILE=C:\Users\PrasanthReddy\Desktop\testsimple.txt
set SEARCHTEXT=C:\ProgramFiles\Think\Digit\Trunk.exe
set REPLACETEXT=Deleted
set OUTPUTLINE=
for /f "tokens=1,* delims=¶" %%A in ( '"findstr /n ^^ %INTEXTFILE%"') do (
SET string=%%A
for /f "delims=: tokens=1,*" %%a in ("!string!") do set "string=%%b"
if "!string!" == "" (
echo.>>%OUTTEXTFILE%
) else (
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
echo !modified! >> %OUTTEXTFILE%
)
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
=================================================
PATH=C:\ProgramFiles\Think\Digit\Trunk.exe
WORD=C:\ProgramFiles\Microsoft\Word12\Word.exe
@echo off
setlocal enabledelayedexpansion
set INTEXTFILE=C:\Users\PrasanthReddy\Desktop\test.txt
set OUTTEXTFILE=C:\Users\PrasanthReddy\Desktop\testsimple.txt
set SEARCHTEXT=C:\ProgramFiles\Think\Digit\Trunk.exe
set REPLACETEXT=Deleted
set OUTPUTLINE=
for /f "tokens=1,* delims=¶" %%A in ( '"findstr /n ^^ %INTEXTFILE%"') do (
SET string=%%A
for /f "delims=: tokens=1,*" %%a in ("!string!") do set "string=%%b"
if "!string!" == "" (
echo.>>%OUTTEXTFILE%
) else (
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
echo !modified! >> %OUTTEXTFILE%
)
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
我可以将文本“C:\ProgramFiles\Think\Digit\Trunk.exe”替换为“已删除”
但是,我想通过使用变量SEARCHTEXT搜索………PATH=C:\ProgramFiles\Think\Digit\Trunk.exe……,替换整行。但是,我无法使用“=”运算符进行搜索
我拥有具有以下代码的批处理文件:-
==================================================================================
PATH=C:\ProgramFiles\Think\Digit\Trunk.exe
WORD=C:\ProgramFiles\Microsoft\Word12\Word.exe
@echo off
setlocal enabledelayedexpansion
set INTEXTFILE=C:\Users\PrasanthReddy\Desktop\test.txt
set OUTTEXTFILE=C:\Users\PrasanthReddy\Desktop\testsimple.txt
set SEARCHTEXT=C:\ProgramFiles\Think\Digit\Trunk.exe
set REPLACETEXT=Deleted
set OUTPUTLINE=
for /f "tokens=1,* delims=¶" %%A in ( '"findstr /n ^^ %INTEXTFILE%"') do (
SET string=%%A
for /f "delims=: tokens=1,*" %%a in ("!string!") do set "string=%%b"
if "!string!" == "" (
echo.>>%OUTTEXTFILE%
) else (
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
echo !modified! >> %OUTTEXTFILE%
)
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
===========================================================================
PATH=C:\ProgramFiles\Think\Digit\Trunk.exe
WORD=C:\ProgramFiles\Microsoft\Word12\Word.exe
@echo off
setlocal enabledelayedexpansion
set INTEXTFILE=C:\Users\PrasanthReddy\Desktop\test.txt
set OUTTEXTFILE=C:\Users\PrasanthReddy\Desktop\testsimple.txt
set SEARCHTEXT=C:\ProgramFiles\Think\Digit\Trunk.exe
set REPLACETEXT=Deleted
set OUTPUTLINE=
for /f "tokens=1,* delims=¶" %%A in ( '"findstr /n ^^ %INTEXTFILE%"') do (
SET string=%%A
for /f "delims=: tokens=1,*" %%a in ("!string!") do set "string=%%b"
if "!string!" == "" (
echo.>>%OUTTEXTFILE%
) else (
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
echo !modified! >> %OUTTEXTFILE%
)
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
是否有人可以帮助我如何替换它…..我如何替换….请确定替换是否已完成,并根据结果回显相应的值,而不是输出带有替换值的字符串
@echo off
setlocal enableextensions disabledelayedexpansion
set "INTEXTFILE=C:\Users\PrasanthReddy\Desktop\test.txt"
set "OUTTEXTFILE=C:\Users\PrasanthReddy\Desktop\testsimple.txt"
set "SEARCHTEXT=C:\ProgramFiles\Think\Digit\Trunk.exe"
set "REPLACETEXT=Deleted"
( for /f "tokens=1,* delims=:" %%a in ('findstr /n "^" "%INTEXTFILE%"'
) do if "%%b"=="" (
echo(
) else (
set "string=%%b"
setlocal enabledelayedexpansion
if "!string:%SEARCHTEXT%=!"=="!string!" (
endlocal
echo(%%b
) else (
endlocal
echo(%REPLACETEXT%
)
)
) > "%OUTTEXTFILE%"
move /y "%OUTTEXTFILE%" "%INTEXTFILE%"
正则表达式?还是逃避角色?