It appears that I can escape command line arguments using single or double quotes:
PS C:\> echo Hello World Hello World PS C:\> echo 'Hello World' Hello World PS C:\> echo 'Hello World' Hello World
But there’s still something I can’t figure out, which is when you wish to run an executable from a directory that contains a space in it:
PS C:\> c:\program files\test.exe The term 'c:\program' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again. At line:1 char:11 + c:\program <<<< files\test.exe PS C:\> 'c:\program files\test.exe' c:\program files\test.exe PS C:\> 'c:\program files\test.exe' c:\program files\test.exe PS C:\>
How do I get PowerShell to run the executable above?
Use this:
Actually an even better solution would be:
or using the alias:
Using Invoke-Item means that the proper Windows file handler would be used. So for an EXE file it would run it. For a .doc file for instance, it would open it in Microsoft Word.
Here is one of the handiest PowerShell command lines around. Give it a try: