Powershell – Execute shortcuts like programs


Example: You have a shortcut s to SomeProgram in the current directory.

In cmd.exe, you can type s and it will launch the program.

In PowerShell, typing s gives:

The term 's' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.

If you type s.lnk or SomeProgram, it runs the program just fine.

How can I configure PowerShell to execute shortcuts just like programs?

Best Solution

You can also invoke a shortcut by using the "invoke-item" cmdlet. So for example if you wanted to launch "internet explorer.lnk" you can type the following command:

invoke-item 'Internet Explorer.lnk'

Or you could also use the alias

ii 'internet explorer.lnk'

Another cool thing is that you could do "invoke-item t.txt" and it would automatically open whatever the default handler for *.txt files were, such as notepad.

Note If you want to execute an application, app.exe, in the current directory you have to actually specify the path, relative or absolute, to execute. ".\app.exe" is what you would need to type to execute the application.