A PowerShell nagyon rugalmasan kezeli a többsoros kifejezéseket. Ha egy nyitó karakter (macskaköröm, aposztróf, minden fajta zárójel) után új sort kezdünk, akkor kapunk egy un. „nested prompt”-ot, azaz beágyazott promptot, melyet két > jel jelez, és ahol folytathatjuk a parancssorunk írását. A macskaköröm példáját már előzőleg mutattam, most nézzünk pár egyéb példát:
PS C:\> (get-service
>> ).count
>>
91
Szögletes zárójel:
PS C:\> $a = get-service
PS C:\> $a[
>> 1]
>>
Status Name DisplayName
------ ---- -----------
Stopped Alerter Alerter
Minden egyéb esetben, amikor tehát nem egyértelmű a PowerShell számára, hogy folytatódik a sor, ott segítsünk neki a már említett (`) karakterrel.
PS C:\> get-service -name `
>> Alerter
>>
Status Name DisplayName
------ ---- -----------
Stopped Alerter Alerter
A szövegek többsoros tárolására van még egy lehetőség, az un. „here string ” alkalmazása, amit egy önálló sorban levő @” vagy @’ karakterpárral vezetünk be és egy önálló ”@ vagy ’@ karakterpárral fejezünk be. Ennél - hasonlóan a korábbiakhoz - a macskakörmös változat kiértékelődő, az aposztrófos pedig annyira „erős” idézőjelezésnek számít, hogy a köztes `, ” és ’ jelet sem veszi figyelembe:
PS C:\> $szöveg = @'
>> Itt aztán lehet bármi, sortörés
>> Escape karakter `
>> Aposztróf '
>> Macskaköröm "
>> '@
>>
PS C:\> $szöveg
Itt aztán lehet bármi, sortörés
Escape karakter `
Aposztróf '
Macskaköröm "