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

39 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.

Categories

Find more on Environment and Settings in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!