user310291
user310291

Reputation: 38190

How to assign multiple lines string in Powershell Console

When I do enter this in powershell Console

$test=@'
Test
Test'@

And do enter several times, it keeps printing

>>

So I can never finish command.

What to do ?

Upvotes: 77

Views: 117298

Answers (3)

user4003407
user4003407

Reputation: 22122

@' should be first thing in the line or it is considered to be just a part of the string.

$test=@'
Test
Test
'@

This approach also works with @"/"@

Upvotes: 120

Basu
Basu

Reputation: 424

$test=@'
Test
Test
'@

The important thing to note is that the delimiters include (invisible) carriage returns. There must be one at the end of the starting tag, and one before the closing tag.

Upvotes: 29

Carl Winbäck
Carl Winbäck

Reputation: 380

As per the section on maximum line length in The PowerShell Best Practices and Style Guide, I would suggest “splatting” the string, like this:

$myStr = ("The family of Dashwood had long been settled in Sussex. Their estate was " +
              "large, and their residence was at Norland Park, in the centre of their " +
              "property, where, for many generations, they had lived in so respectable " +
              "a manner as to engage the general good opinion of their surrounding " +
              "acquaintance.")

Upvotes: 21

Related Questions