3

In PowerShell's documentation, I have come across the expression expandable string:

Argument mode is designed for parsing arguments and parameters for commands in a shell environment. All input is treated as an expandable string unless it uses one of the following syntaxes:

Unfortunately, I am unable to find a definition for expandable string and my question is: what is an expandable string in PowerShell?

3
  • Do the answers to How to expand variable in powershell? explain it for your purposes? Commented Dec 11, 2020 at 14:54
  • @AndrewMorton: yes, they answer my question. Commented Dec 11, 2020 at 15:03
  • 1
    You might also want to research the following Function: $ExecutionContext.InvokeCommand.ExpandString Commented Dec 11, 2020 at 15:32

1 Answer 1

6

It is definitely unfortunate that, as of this writing, the official help topic on PowerShell string literals, about_Quoting_Rules doesn't introduce the term expandable string [update: the online version now does; to also see the update locally, you may have to run Update-Help].

An expandable string is:

  • A double-quoted string literal ("...")

    • By contrast, a single-quoted string ('...') is a verbatim (literal) string.
    • For an overview of all types of PowerShell string literals, which includes here-string variants (e.g., @"<newline>...<newline>"@), see the bottom section of this answer.
  • Double-quoted strings perform string interpolation (expansion).

    • This allows you to embed simple variable references as-is (e.g, "$var"), and expressions and whole statements via $() (e.g., "$($var.property)"). Escape verbatim $ (and ") chars. with `. Enclose variable names in {...} for disambiguation (e.g. "${var}").
    • For the complete rules, see this answer.
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.