I found a VBScript which is (nearly) able to do what you want.
Unfortunately it can only copy the targets of shortcuts to files. It's not working with shortcuts to folders which is what you asked for.
You'll get an error when trying it on Folder-Shortcuts.
Perhaps someone here can make it work with folders.
Would also be nice to have the Script within the Code of the Button abusing the rename function of DOpus.
For now you'll need to copy the Code to a Textfile and rename the file to "CopyShortcutTarget.vbs".
Then you can call the file with the following Command from a Button:
@nodeselect
"Your Path \CopyShortcutTarget.vbs {filepath}
It will copy all selected files normally.
Shortcuts to files will not be copied, but there Targets.
Shortcuts to Folders and selected Folders will give an error.
I found the original Script here:
http://www.experts-exchange.com/articles/Programming/Languages/Visual_Basic/VB_Script/Script-to-copy-or-move-collection-of-selected-files-plus-shortcut-target-files-referenced-by-lnk.html
I extracted only what's needed to pass the Target Arguments to dopusrt.exe:
CopyShortcutTarget.vbs
[code]Option Explicit
Dim ARG()
Dim ARGS()
Dim i
Dim f
Dim FileName
Dim FilePath
Dim fExt
Dim ifExt
Dim oSHLink
Dim target
Dim WShell
Set WShell = Wscript.CreateObject("Wscript.Shell")
Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
For i = 0 to Wscript.Arguments.Count - 1
'Enumerate the collection and provide details of each item
Redim Preserve ARG(i)
ARG(i) = Wscript.Arguments(i)
'Obviously there are various ways to handle looking at the filesystem object properties...
Set f = fs.GetFile(ARG(i))
FileName=f.Name
FilePath=f.Path
'Transform List-Item Links into their actual targets
fExt = Fs.GetExtensionName(ARG(i))
ifExt = StrComp(fExt, "LNK", vbTextCompare)
IF ifExt = 0 THEN
set oSHLink = Wshell.CreateShortcut(FilePath)
target = oSHLink.TargetPath
Set f = fs.GetFile(target)
End If
'Recreate a new collection containing all hard targets (no links)
Redim Preserve ARGS(i)
ARGS(i) = f
Next
' Now send this off to "dopusrt.exe"
WShell.Run """C:\Programme\Directory Opus\dopusrt.exe"" /cmd Copy """ & Join(ARGS,""" """)
'Next
Set oSHLink = Nothing
Set fs = Nothing
Set WShell = Nothing
Wscript.Quit
[/code]
Another thing I found is "Shortcut.exe", a small commandline Tool which is able to read the target Path and Name from a shortcut:
http://www.optimumx.com/download/#Shortcut
The following command writes the Output to a Textfile like this: "TargetPathExtended=Path to File\Filename.ext".
If someone is writing a Script which reads the Output, strips "TargetPathExtended=" from it and passes what is left to DOpus similar to that what the above script is doing it should work with Files and Folders.
Shortcut.exe /f:"Shortcut.lnk" /a:q |Find "TargetPathExpanded" >C:\Temp\Shortcut.txt