Я нашел способ создать ярлык (не символьную c ссылку, как указывали другие) с аргументами, в основном через эту ветку .
Идея состоит в том, чтобы вызвать сценарий VB, потому что есть легкая реализация для ярлыков:
:: make sure the linkpath exists:
if not exist "%linkpath%" md "%linkpath%"
:: create temporary VBScript ...
echo Set objShell=WScript.CreateObject("Wscript.Shell")>%temp%\MakeShortCut.vbs
echo Set objShortcut=objShell.CreateShortcut("%linkpath%\%linkname%.lnk")>>%temp%\MakeShortCut.vbs
echo objShortcut.TargetPath="%progpath%\%progexe%.exe">>%temp%\MakeShortCut.vbs
echo objShortcut.Arguments="%arguments%">>%temp%\MakeShortCut.vbs
echo objShortcut.Description="%description%">>%temp%\MakeShortCut.vbs
echo objShortcut.WorkingDirectory="%progpath%">>%temp%\MakeShortCut.vbs
echo objShortcut.Save>>%temp%\MakeShortCut.vbs
::... run it ...
cscript //nologo %temp%\MakeShortCut.vbs
::... and delete it.
del %temp%\MakeShortCut.vbs
Таким образом, вы захотите установить следующие переменные перед запуском этих строк:
%linkpath%
- это путь, по которому создается ярлык %linkname%
- это имя ярлыка %progpath%
- это путь к вашему исполняемому файлу %progname%
- это имя вашего исполняемый файл %arguments%
%description%
%temp%
не устанавливается, это переменная среды
примечание: Я немного изменил этот код из кода, который я использую, так как у меня есть специальное c использование для него в моем коде, и не проверял, сделал ли я здесь опечатку. Если кто-то использует это, и это работает, пожалуйста, удалите эту заметку