• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 790
  • Last Modified:

How do I include blank lines in a for /F statement

I am trying to copy one file to another, replacing a particular bit of text.  The original text has blank lines and lines beginning with semicolons, all of which I want to keep.  How can I accomplish this?  This code is what I have so far, but it ignores blank lines.

Thanks!!
for /F "eol= tokens=1-2 delims=" %%x in (orig.ini) do (
  for /F "eol= tokens=1-6 delims=" %%I in ("%%x") do (
    IF %%I==TEXT1 (
      echo TEXT1=NEWVALUE>>"new.ini"
    ) ELSE (
      echo %%x>>"new.ini"
    )
  )
)

Open in new window

0
brs5tettba
Asked:
brs5tettba
  • 3
1 Solution
 
AmazingTechCommented:
I think this should work for you
for /F "tokens=1,* delims=]" %%x in ('type orig.ini ^| find /v /n ""') do (
    IF %%y==TEXT1 (
        echo TEXT1=NEWVALUE>>"new.ini"
    ) ELSE (
        if "%%y" == "" (
            echo.>>"new.ini"
        ) ELSE (
            echo %%y>>"new.ini"
        )
    )
)

Open in new window

0
 
brs5tettbaAuthor Commented:
I used your suggestion but put the blank case first (if "%%y" == ""), and that fixed it for me.  Creative answer, thank you!

for /F "tokens=1,* delims=]" %%x in ('type orig.ini ^| find /v /n ""') do (
    if "%%y" == "" (
        echo.>>"new.ini"
    ) ELSE (
        IF %%y==TEXT1 (
            echo TEXT1=NEWVALUE>>"new.ini"
        ) ELSE (
            echo %%y>>"new.ini"
        )
    )
)

Open in new window

0
 
AmazingTechCommented:
OK. Great.
0
 
AmazingTechCommented:
Another trick I picked up here is to create the new.ini file like this.

I think this should work with your script.

This way you don't need to delete the previous new.ini if one already exist.
ECHO OFF
(for /F "tokens=1,* delims=]" %%x in ('type orig.ini ^| find /v /n ""') do (
    if "%%y" == "" (
        echo.
    ) ELSE (
        IF %%y==TEXT1 (
            echo TEXT1=NEWVALUE
        ) ELSE (
            echo %%y
        )
    )
))>"new.ini"

Open in new window

0
 
t0t0Commented:
AmazingTech

EXCELLENT !!!!!

I have been pulling my hair out for the past ..... hours trying to find a solution to this very problem.

You are the KING!!
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now