You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Powershell中等号后以@开头和结尾的变量语法含义问询

PowerShell @"..."@语法解释

你提到的该语法是PowerShell的这里字符串(Here-String),是专门用于定义多行文本的特殊语法,分为双引号、单引号两个变体。

核心作用

  • 直接保留文本的原始换行、缩进、特殊字符格式,无需额外拼接字符串、添加换行符或转义特殊符号,非常适合定义HTML、JSON、配置脚本等长段格式化内容。你给出的示例就是用该语法直接将多行CSS样式原封不动赋值给$htmlBody变量。

使用规则

通用规则

  • 开头的@"/@'必须写在行的末尾,后面不能跟任何字符(包括空格)。
  • 结尾的"@/'@必须单独占一行,且必须放在行的最开头,前面不能有任何缩进、空格或其他字符,否则会触发语法错误。

两种变体的差异

  • 双引号版 @"..."@:支持变量扩展和表达式解析,字符串内的$变量名、$(表达式)会被自动替换为对应值。
    示例:
    $title = "数据报表"
    $reportHtml = @"
    <h1>$title</h1>
    <p>生成时间:$(Get-Date -Format "yyyy-MM-dd")</p>
    "@
    
    上述代码赋值后,$reportHtml中的$title会被替换为「数据报表」,$(Get-Date)部分会被替换为当前日期。
  • 单引号版 @'...'@:不会解析内部的变量和表达式,所有内容都会作为纯文本保留,适合需要保留$等特殊字符本身的场景。

内容的提问来源于stack exchange,提问作者Victor Kraski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 10:36:08