PowerShell Got Smart About Smart Quotes

If you've ever had a script fail because of smart quotes, you'll be happy to hear that smart quotes and other characters that have been mangled by auto-format or auto-correct settings aren't a problem for Windows PowerShell.

1 Min Read
ITPro Today logo in a gray background | ITPro Today

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.

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like