【问题标题】:Getting Double Quotation Marks in Write-Host Output在写入主机输出中获取双引号
【发布时间】:2016-01-20 02:23:37
【问题描述】:

我需要在 GUID=$ntds 输出周围加一些双引号。我尝试用双引号将整个字符串包含在内,但无济于事。由于变量,单引号不起作用。

$Site=Read-Host "ENTER SITE NAME"
$Server=Read-Host "ENTER SERVER NAME"


$NTDS=Get-ADObject -Identity "CN=NTDS Settings,CN=$server,CN=Servers,CN=$site,CN=Sites,CN=Configuration,$((Get-ADDomain).DistinguishedName)" |foreach {$_.objectguid} 
write-host "Repadmin /showobjmeta" * "<GUID=$ntds>"

【问题讨论】:

    标签: powershell


    【解决方案1】:

    你可以使用另一对双引号来转义

    Write-Host "hello ""200mg"""
    

    这将输出hello "200mg"

    你的情况是这样的

    write-host "Repadmin /showobjmeta""<GUID=$ntds>"""
    

    【讨论】:

    • 有关在 Powershell 中转义字符的更多信息,请参阅 ss64.com/ps/syntax-esc.html
    • 关闭输出显示最后一个双引号,但不是 "
    • @200mg,在我的答案中完全尝试一下。完全删除 * 字符
    • 命令中的 * 是必需的,我想出了一个解决方法,虽然使用了转义字符...感谢所有帮助..write-host "Repadmin /showobjmeta" * "&lt;GUID=$ntds&gt;"
    【解决方案2】:

    我不知道powershell,但是其他语言的,你可以试试:

    你可以尝试在你想要的地方使用双双引号“”。

    "<GUID=""$ntds"">"
    

    如果外面允许的话,你可以试试单引号

    '<GUID="$ntds">'
    

    或者您可以在 " 制作它之前尝试将反斜杠作为转义字符

    "<GUID=\"$ntds\">"
    

    如果你成功了,请尝试告诉我。

    【讨论】:

      猜你喜欢
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      • 2019-11-02
      • 2013-06-07
      • 2018-06-26
      • 2015-05-20
      相关资源
      最近更新 更多