Creating Shortcuts using a For Loop
Posted: 17 Aug 2020 17:04
I have a directory R:\Archived Folders\ which contains several thousand sub folders. I have another folder H:\WORK\ which has the many sub folders that have the same name as those in the archive. I would like to create a link to each archive folder in each corresponding sub folder in work. I have tried the following code but it isn't working.
I would greatly appreciate any help. I am using Windows 10 if that matters. I should also note that the sub folders in the WORK folder also have sub folders but I do not wish to have links to those. (like links to the children of H:\WORK but not the grandchildren)
Additionally, shortcut.exe can be found here: http://www.optimumx.com/downloads.html#Shortcut
Code: Select all
@echo off
cls
for %%X in (dir "R:\Archived Folders\*" /AD /B) do (IF EXIST "H:\WORK\%%X"(cd /d "H:\WORK\%%X" && Shortcut.exe /F:"%cd%\Archived Folder - %%X.lnk" /A:C /T:"%%X"))
pause
Additionally, shortcut.exe can be found here: http://www.optimumx.com/downloads.html#Shortcut
Code: Select all
The syntax of this command is:
Shortcut.exe /F:filename /A:C|E|Q [/T:target] [/P:parameters] [/W:workingdir]
[/R:runstyle] [/I:icon,index] [/H:hotkey] [/D:description]
/F:filename : Specifies the .LNK shortcut file.
/A:action : Defines the action to take (C=Create, E=Edit or Q=Query).
/T:target : Defines the target path and file name the shortcut points to.
/P:parameters : Defines the command-line parameters to pass to the target.
/W:working dir : Defines the working directory the target starts with.
/R:run style : Defines the window state (1=Normal, 3=Max, 7=Min).
/I:icon,index : Defines the icon and optional index (file.exe or file.exe,0).
/H:hotkey : Defines the hotkey, a numeric value of the keyboard shortcut.
/D:description : Defines the description (or comment) for the shortcut.
Notes:
- Any argument that contains spaces must be enclosed in "double quotes".
- If Query is specified (/A:Q), all arguments except /F: are ignored.
- To find the numeric hotkey value, use Explorer to set a hotkey and then /A:Q
- To prevent an environment variable from being expanded until the shortcut
is launched, use the ^ carat escape character like this: ^%WINDIR^%
Examples:
/f:"%ALLUSERSPROFILE%\Start Menu\Programs\My App.lnk" /a:q
/f:"%USERPROFILE%\Desktop\Notepad.lnk" /a:c /t:^%WINDIR^%\Notepad.exe /h:846
/f:"%USERPROFILE%\Desktop\Notepad.lnk" /a:e /p:C:\Setup.log /r:3