Blat question:  Does anyone know how to insert carriage return/line feeds in a test string.

Posted on 2010-09-08
Last Modified: 2012-06-28
I have these variables set in a batch file:

Set BodyLine1="...."
Set BodyLine2="...." etc.
...up to 5.

At some point in the script I issue the command:

Blat -body "%BodyLine1%%BodyLine2%%BodyLine3%...", which works, but strings the text lines together, as expected.  Can I store a CRLF character in a variable and insert it between the lines in the string?  If so, how?

Thank you.
Question by:Randy_R
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +2

Expert Comment

ID: 33627998
concatenate the string as follows:
%STring1% + Char(13) + Char(10) + %String2% + ....

Author Comment

ID: 33628136
What I get back is this:

1 + Char(13) + Char(10) + 2 + Char(13) + char(10) + 3 + CHar(13)+Char(10) + 4 + Char(13) + Char(10) + 5

my variables are expanded properly but not the CR/LF.  I tried enclosing the entire string in quotes but it didn't help.
LVL 15

Expert Comment

ID: 33628336
Try embed newlines into the strings like

Set BodyLine1="....\r\n"
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 33628390
Nope.  Just takes them as additional string characters.
LVL 54

Accepted Solution

Bill Prew earned 500 total points
ID: 33628564
I think what you need to do is write your body lines to a text file first, and then on the blat command line pass in the name of that file, rather than the -body option.  So something like:

echo Sample Line 1>body.txt
echo Sample Line 2>>body.txt
echo Sample Line 3>>body.txt

blat "body.txt" -to ...

LVL 15

Expert Comment

ID: 33628573

Author Comment

ID: 33628746
That did it bp!  Thanks!
LVL 54

Expert Comment

by:Bill Prew
ID: 33628782
Great, glad that was helpful, thanks.

LVL 33

Expert Comment

ID: 38136322
You can use string substitution and a little known trick to achieve this.  For example, let's say you want to use \n to represent your new line characters:

set nltest=This is\na new\nline test.
echo %nltest:\n=&echo.%

Featured Post

Flexible connectivity for any environment

The KE6900 series can extend and deploy computers with high definition displays across multiple stations in a variety of applications that suit any environment. Expand computer use to stations across multiple rooms with dynamic access.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

An article on effective troubleshooting
A project that enables an administrator to perform actions within a user session context not just at the time of login but any time later on day(s) or week(s) later.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question