about_Quoting_Rules

TÓPICO
    about_Quoting_Rules
DESCRIÇÃO RESUMIDA
    Descreve regras para o uso de aspas simples e duplas no Windows 
    PowerShell.
DESCRIÇÃO LONGA
    As aspas são usadas para especificar uma string 
    literal. Você pode colocar uma string entre aspas 
    simples (') ou duplas (").     As aspas também são usadas para criar uma string 
    here. Uma string here é uma string 
    entre aspas simples ou duplas na qual as aspas são interpretadas 
    literalmente. Uma string here pode abranger várias 
    linhas. Todas as linhas em uma string here são 
    interpretadas como strings, embora elas não sejam 
    colocadas entre aspas.
    Em comandos para computação remota, as aspas definem as partes do 
    comando que são executadas no computador remoto. Em uma sessão 
    remota, as aspas determinam também se as variáveis em um comando são 
    interpretadas primeiro no computador local ou no computador remoto.
 Cadeias de Caracteres entre Aspas Simples e Duplas
      Quando você coloca uma string entre aspas duplas, 
      os nomes de variáveis que são precedidos por um sinal de dólar 
      ($) são substituídos pelo valor da variável antes que a cadeia 
      de caracteres seja transmitida ao comando para processamento.       Por exemplo:
          $i = 5
          "O valor de $i é $i."
      A saída desse comando é: 
          O valor de 5 é 5.
      Além disso, em uma string entre aspas duplas, são 
      avaliadas expressões e o resultado é inserido na cadeia de 
      caracteres. Por exemplo:
   "O valor de $(2+3) é 5."
      A saída desse comando é:
   O valor de 5 é 5.
      Quando você coloca uma string entre aspas 
      simples, a string é transmitida para o comando 
      exatamente como você a digitou. Nenhuma substituição é 
      executada. Por exemplo:
          $i = 5
          O valor de $i é $i'.
      A saída desse comando é: 
          O valor de $i é $i.
      De forma semelhante, não são avaliadas expressões em cadeias de 
      caracteres entre aspas simples. Elas são interpretadas como 
      literais. Por exemplo:
   'O valor de $(2+3) é 5.'
      A saída desse comando é:
   O valor de $(2+3) é 5.
      Para impedir a substituição de um valor de variável em uma cadeia de 
      caracteres entre aspas duplas, use o caractere de crase (`) (ASCII 96) 
      que é o caractere de escape do Windows PowerShell.
      No exemplo a seguir, o caractere de crase que precede a 
      primeira variável $i impede que o Windows PowerShell substitua 
      o nome da variável pelo seu valor. Por exemplo:
          $i = 5
          "O valor de `$i é $i".
      A saída desse comando é: 
          O valor de $i é 5.
     
    
      Para que as aspas duplas apareçam em uma string, 
      coloque toda a string entre aspas simples. Por 
      exemplo:
          'Como se diz, "vivendo e aprendendo."'
      A saída desse comando é:
          Como dizem, "vivendo e aprendendo."
      Você também pode colocar uma string entre aspas 
      simples em uma string entre aspas duplas. Por exemplo:
          "Como se diz, 'vivendo e aprendendo.'"
      A saída desse comando é:
          Como se diz, 'vivendo e aprendendo.'
      Ou, coloque aspas duplas em uma sentença entre aspas duplas. 
      Por exemplo:
          "Como se diz, ""vivendo e aprendendo."""
      A saída desse comando é:
          Como dizem, "vivendo e aprendendo."
      Para incluir aspas simples em uma string entre 
      aspas simples, use aspas simples consecutivas. Por exemplo:
          'don''t'
      A saída desse comando é:
          don't
      Para forçar o Windows PowerShell a interpretar aspas duplas 
      literalmente, use um caractere de crase. Isso evita que o 
      Windows PowerShell interprete as aspas como um delimitador de 
      string. Por exemplo:
          "Use aspas (`") para começar uma string."
      Pelo fato de o conteúdo das strings entre aspas 
      simples não ser interpretado literalmente, você não pode usar o 
      caractere de crase para forçar uma interpretação literal em uma 
      string entre aspas simples.       Por exemplo, o comando a seguir gera um erro porque o Windows 
      PowerShell não reconhece o caractere de escape. Em vez disso, 
      ele interpreta a segunda aspa como o término da cadeia de 
      caracteres.
   PS C:\> 'Use uma aspa (`') para iniciar uma string.'
          Token inesperado ')' em expressão ou instrução.
          At line:1 char:27
          + 'Use uma aspa (`') <<<< para iniciar uma string.'
 Cadeias de Caracteres Here entre Aspas Simples e Duplas
      As regras do uso de aspas em strings here são 
      ligeiramente diferentes.
      Uma string here é uma string entre 
      aspas simples ou duplas na qual as aspas são interpretadas 
      literalmente. Uma string here pode abranger 
      várias linhas. Todas as linhas em uma string here são 
      interpretadas como strings embora não estejam entre aspas.
      Da mesma forma que as strings normais, as 
      variáveis são substituídas por seus valores em cadeias de 
      caracteres here entre aspas duplas. Nas strings 
      here, as variáveis não são substituídas por seus valores.       Você pode usar as strings here em qualquer texto, 
      mas elas são particularmente úteis nos seguintes tipos de texto:
          - Texto que contém aspas literais Várias linhas de texto, 
            como o texto em um documento HTML ou XML O texto da Ajuda 
            para um script ou função
      Uma string here pode ter qualquer um destes 
      formatos, onde <Enter> representa o avanço de linha ou 
      caractere oculto de nova linha que é adicionado quando você 
      pressiona a tecla ENTER.       Formato 1:
   @"<Enter>
          <string> [string] ...<Enter>
          "@
      Formato 2:    @'<Enter>
          <string> [string] ...<Enter>
          '@
      Em qualquer formato, as aspas de fechamento devem ser o 
      primeiro caractere na linha. 
   
      Uma string here contém todo o texto entre os dois 
      caracteres ocultos.
      Na string here, todas as aspas são interpretadas 
      literalmente.
      Por exemplo:
   @"
   Para obter ajuda, digite "get-help"
   "@
    
      A saída desse comando é:
   Para obter ajuda, digite "get-help"
      O uso de uma string here pode simplificar o uso 
      de uma string em um comando. Por exemplo:
   @"
          Use uma aspa (') para iniciar uma string.
          "@
     
      A saída desse comando é:
          Use uma aspa (') para iniciar uma string.
      Nas strings here entre aspas simples, as variáveis são 
      interpretadas literalmente e reproduzidas exatamente. Por exemplo:
          @'
   A variável $profile contém o caminho
          do seu perfil do Windows PowerShell.
          '@
      A saída desse comando é:
   A variável $profile contém o caminho
          do seu perfil do Windows PowerShell.
      Nas strings here entre aspas duplas, as variáveis são 
      substituídas por seus valores. Por exemplo:
   @" 
          Mesmo que você não tenha criado um perfil, o caminho do 
          arquivo de perfil será:
          $profile.
          "@
    
      A saída desse comando é:
   Mesmo que você não tenha criado um perfil,
   o caminho do arquivo de perfil será:
   C:\Users\Usuário01\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1.
      Em geral, as strings here são usadas para 
      atribuir várias linhas a uma variável. Por exemplo, a cadeia de 
      caracteres here a seguir atribui uma página de XML à variável $page.
        $page = [XML] @"
        <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" 
        xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"  
      <command:details>
          <command:name>
                       Format-Table
      </command:name>
      <maml:description>
   <maml:para>Formata a saída como uma tabela.</maml:para> 
      </maml:description>
      <command:verb>format</command:verb>
      <command:noun>table</command:noun>
      <dev:version></dev:version>
      </command:details>
        ...
        </command:command>
        "@
   
      As strings here também são um formato conveniente 
      para a entrada do cmdlet ConvertFrom-StringData que converte 
      strings here em tabelas de hash. Para obter mais 
      informações, consulte ConvertFrom-StringData.
CONSULTE TAMBÉM
    about_Escape_Characters
    ConvertFrom-StringData