Windows isn’t always WYSIWYG and sometimes it will pretend.
I’m talking here about how different characters are displayed on the screen to make the layout look nice. If you are typing away in Word then you can sometimes spot hyphens, for example, being changed in width on the fly. The text reads fine but you need to remember that the underlying character has a completely different ASCII/Unicode number. This becomes very important when copying text from an Office document or email into a script or the command line.
The single-quote character – actually the apostrophe – (‘ 0x0027) can be exchanged with the left single-quote character (‘ 0x2018) and the right single-quote character (’ 0x2019)
The double-quote character (” 0x0022) can be exchanged with the left double-quote character (“ 0x201C) and the right double-quote character (” 0x201D)
The hyphen-minus character (- 0x002D) can be exchanged with soft hyphens (- 0x00AD), hyphens (‐ 0x2010), en dashes (– 0x2013) or em-dashes (— 0x2014).
So if you have a command that won’t run without errors and it looks syntactically correct then just retype it with the keyboard – good chance it will start working.