I am attempting to remove a multi-line string from a file using Batch in Windows. My batch code is doing some weird things such as place the string ECHO is off.
in the file.
Edit: with all code
How can I get my code to remove a multi-line string from a file?
@echo off &setlocal enabledelayedexpansion
Rem Read file and store all contents in string
Set replace=
Set target=
Set infile=usermenuTest1.4d
Rem %~1
Set outfile=usermenuTest2.4d
Rem %~2
for /f "delims=" %%i in (%infile%) do set "target=!target! %%i"
echo %target%
Rem Remove the target string from myOtherFile.txt: this code is from http://stackoverflow.com/questions/5273937/how-to-replace-substrings-in-windows-batch-file
@echo off & setlocal enabledelayedexpansion
for /f "tokens=1,* delims=¶" %%A in ( 'type "%outfile%"') do SET "string=%%A"
SET "modified=!string:%target%=%replace%!"
(echo(%modified%)>> "%outfile%"
Example of the multi-line string I want to replace:
Menu "User" {
Button "" {
Walk_Right ""
}
}
Menu "" {
// Button "CAD" {
// Walk_Right "CAD"
// }
Button "Design" {
Walk_Right "Design"
}
Button "Services" {
Walk_Right "Services"
}
Button "Strings" {
Walk_Right "Strings"
}
Button "Survey" {
Walk_Right "Survey"
}
Button "Utilities" {
Walk_Right "Utilities"
}
Button "Zoom" {
Walk_Right "Zoom"
}
}