Вопрос по wsh, shortcut, batch-file – Создать ярлык с параметрами, добавленными в путь к программе

2

Вот код, он работает, если я щелкаю правой кнопкой мыши на новом .Lnk и удаляю кавычки
от"C:\Windows\System32\control.exe /name Microsoft.Windowsupdate"
вC:\Windows\System32\control.exe /name Microsoft.Windowsupdate

echo off
Cls
set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
echo sLinkFile = "%USERPROFILE%\Desktop\Weekly Maintenance\Windows Update.lnk" >> %SCRIPT%
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
echo oLink.TargetPath = "C:\Windows\System32\control.exe /name Microsoft.Windowsupdate" >> %SCRIPT%
echo oLink.Save >> %SCRIPT%
cscript /nologo %SCRIPT%
del %SCRIPT%
pause
cscript /nologo %SCRIPT%
del %SCRIPT%

есть идеи?

Вы можете уточнить? Какиеименно так это проблема, которую вы видите? Поведение, которое вы ожидаете по сравнению с тем, что на самом деле происходит? natemcmaster

Ваш Ответ

1   ответ
3

Документация поWshShortcut.TargetPath говорит:

Это свойство только для целевого пути ярлыка.
Любые аргументы для ярлыка должны быть помещены в свойство аргумента.

Фрагмент рабочего кода:

echo oLink.TargetPath = "C:\Windows\System32\control.exe" >> %SCRIPT%
echo oLink.Arguments = "/name Microsoft.Windowsupdate" >> %SCRIPT%

И весь исправленный код:

@echo off
Cls
set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
echo sLinkFile = "%USERPROFILE%\Desktop\Weekly Maintenance\Windows Update.lnk" >> %SCRIPT%
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
echo oLink.TargetPath = "C:\Windows\System32\control.exe" >> %SCRIPT%
echo oLink.Arguments = "/name Microsoft.Windowsupdate" >> %SCRIPT%
echo oLink.Save >> %SCRIPT%
cscript /nologo %SCRIPT%
del %SCRIPT%
pause
Спасибо отлично работает, я собираюсь поставить полный код здесь для всех остальных Brett Nelson

Похожие вопросы