Skip navigation

PowerShell Got Smart About Smart Quotes

If you often copy and paste VBScript code from .doc files into scripts, you've likely run into the problem where a script fails because some smart quotes snuck in. By default, Microsoft Word's AutoFormat feature changes straight quotes (" ") into smart quotes (“ ”). If you copy and paste code that has been reformatted by Word, the quotes remain smart quotes, which the VBScript and JScript scripting engines and Windows command processor (cmd.exe) do not recognize as legal quote characters.

Smart quotes are not a problem in Windows PowerShell. Microsoft designed PowerShell so that it recognizes code that has been mangled by auto-format or auto-correct settings in Word, Microsoft Outlook, and other applications that use rich text. PowerShell interprets smart quotes, dashes, Unicode paragraph separators, and other oddities such as HTML's nonbreaking spaces as the ASCII characters that they usually replace. For example, the em dash character (—) is interpreted as a simple dash (--) and smart quotes are interpreted as straight quotes. Microsoft made this improvement in response to scripters' suggestions.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.