Is there a way to programmatically modify the properties of a Windows shortcut?

29 views (last 30 days)
I want to programmatically change properties like "Target" and "Start in," or create new shortcuts and define those properties, if necessary. I don't know the nature of Windows shortcuts, but the properties are just text. I imagine they are not accessible to MATLAB, however. Could you write a VB script to do this and run that from MATLAB?
Thanks,
Matt

Answers (1)

Brendan Gray
Brendan Gray on 10 Nov 2017
You don't need to create a VB script. You can create a COM server using the actxserver function, and access most, if not all of the functionality you need directly from within MATLAB. Something like this should work:
wsh = actxserver('WScript.Shell');
shortcut = wsh.CreateShortcut('C:\folder\shortcut.lnk');
shortcut.TargetPath = 'C:\folder\program.exe';
shortcut.WorkingDirectory = 'C:\folder\';
shortcut.Save;
One thing that is confusing is that CreateShortcut is not only used to create a new shortcut, but also to open existing shortcuts.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!