Powershell 展开变量并在单引号中添加结果

Powershell 展开变量并在单引号中添加结果,powershell,format,Powershell,Format,这是一个愚蠢的问题,但似乎无法解决。 如何展开变量的内容,并以单引号显示结果 $Test = Hello Write-output $($Test) 我希望结果是'Hello',包括引号 带有一个可扩展字符串(): 一般来说,为了只输出一个值,不需要写输出,因为PowerShell隐式输出表达式/命令结果(既不捕获也不重定向) 您可以将上面的表达式原样作为参数传递给命令,而不需要;坚持使用写入输出示例命令: Write-Output "'$Test'" 使用可扩展字符串作为将

这是一个愚蠢的问题,但似乎无法解决。 如何展开变量的内容,并以单引号显示结果

    $Test = Hello
    Write-output $($Test)

我希望结果是
'Hello'
,包括引号

带有一个可扩展字符串():

一般来说,为了只输出一个值,不需要写输出,因为PowerShell隐式输出表达式/命令结果(既不捕获也不重定向)

您可以将上面的表达式原样作为参数传递给命令,而不需要;坚持使用
写入输出
示例命令:

Write-Output "'$Test'"
使用可扩展字符串作为将变量值或表达式结果的默认字符串表示形式嵌入字符串的方便方法


使用
-f
,字符串格式运算符
(内部基于):

-f
运算符为您提供了对结果字符串表示形式的更多控制,允许您执行诸如填充和选择浮点数的小数位数等操作

但是请注意,这种方法只适用于标量,而不适用于数组(集合)


使用字符串连接(
+
):


这是一个比字符串扩展更详细的替代方法,使执行的操作更明显。

写入输出“$($Test)”
应该产生您想要的结果(注意创建字符串的双引号,然后是该字符串中的单引号)。您还需要将“Hello”括在引号中
$Test=“Hello”
,以便PowerShell将其解释为字符串。感谢您的快速回复:)如果您始终希望引号存在,可以将其保存为$Var值的一部分。例如,此
“'Hello'”
将使用内部引号集打印。并不是说它是
Hello
,如果您喜欢存储双打而不是单打,您可以将其反转。[grin]不得不像这样使用它,
$(“$Test”)
,但你给我指出了正确的方向。我并不总是希望它们是单引号,因为消息只是用于生成电子邮件和日志文件,我在脚本中使用该变量来做其他有用的事情,不过还是要谢谢你
Write-Output "'$Test'"
"'{0}'" -f $Test  # {0} is a placeholder for the 1st RHS operand

# Enclose in (...) to pass the expression as an argument to a command:
Write-Output ("'{0}'" -f $Test)
"'" + $Test + "'"

# Enclose in (...) to pass the expression as an argument to a command:
Write-Output ("'" + $Test + "'")