Remove Multi-Line String from File

Discussion forum for all Windows batch related topics.

Moderator: DosItHelp

Post Reply
Message
Author
gretty
Posts: 1
Joined: 30 Apr 2013 16:54

Remove Multi-Line String from File

#1 Post by gretty » 30 Apr 2013 17:01

Hello

I am attempting to remove a multiline string from a file. The multiline string comes from another file and is read into a Batch variable. I then read the target file and search for this multiline string, if it exists I want to delete it from the target file.

Is this kind of functionality possible using Batch Windows Scripting? I really hope it is.

My code below is unable to remove the multiline string from the target file. It can successfully read the input file. Can you help me edit my script to search for and remove a multiline string from a file?

Code: Select all

@echo off &setlocal enabledelayedexpansion

Set replace=
Set target=
Set infile=usermenuTest1.4d
Set outfile=usermenuTest2.4d

Rem Read file and store all contents in string
for /f "delims=" %%i in (%infile%) do set "target=!target! %%i"
echo %target%

Rem Remove the target string from outfile
@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%"

ECHO.
PAUSE
ENDLOCAL


Essentially I want my script to remove the following bold text from a file:
// abc

// def

// hij

Menu "User" {
Button "" {
Walk_Right ""
}
}

abc0502
Posts: 1007
Joined: 26 Oct 2011 22:38
Location: Egypt

Re: Remove Multi-Line String from File

#2 Post by abc0502 » 30 Apr 2013 20:59

Is this text:

Code: Select all

Menu "User" {
Button "" {
Walk_Right ""
}
}

will always be that way, 5 lines all after each other ?

Post Reply