2015-07-16 1 views
1

Попытка создать ярлык в пакетном режиме с помощью VBScript. Мне нужно изменить свойства пути, чтобы он мог работать в режиме без графики.Попытка создать ярлык в пакете для сервера

set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs" 
echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT% 
echo Set shortcut = oWS.CreateShortcut("%USERPROFILE%\Desktop\unturned.exe -batchmode -nographics +secureserver/TheServer.lnk") >> %SCRIPT% 
echo shortcut.TargetPath = "D:\SteamLibrary\SteamApps\common\Unturned\Unturned.exe" >> %SCRIPT% 
echo shortcut.Save >> %SCRIPT% 


cscript /nologo %SCRIPT% 
del %SCRIPT% 

Нельзя сохранить.

+0

Что вы имеете в виду "не может спасти"? Диалог свойств ярлыка не будет закрыт? Командный файл не может записывать на выход VBS? Или что? –

+0

Когда я запускаю программу, она говорит WshShortcut.save: не удалось сохранить ярлык. Я знаю, что это связано с -batchmode и другими вещами в конце, потому что это дополнительные функции, которые фактически указывают на сам файл. Так есть способ добавить эти дополнения. –

+0

Я сам ответил на это за помощь. Мне пришлось переместить -batchmode и другие вещи в целевой путь вместо имени –

ответ

0

Это должно было трюк:

@echo off 
Set vbsfile=%TEMP%\%RANDOM%.vbs 
Set MyFile=D:\SteamLibrary\SteamApps\common\Unturned\Unturned.exe 
Set ShorcutName=Unturned 
(
echo Call Shortcut("%MyFile%","%ShorcutName%"^) 
echo ^'**********************************************************************************************^) 
echo Sub Shortcut(CheminApplication,Nom^) 
echo Dim objShell,DesktopPath,objShortCut,MyTab 
echo Set objShell = CreateObject("WScript.Shell"^) 
echo MyTab = Split(CheminApplication,"\"^) 
echo If Nom = "" Then 
echo Nom = MyTab(UBound(MyTab^)^) 
echo End if 
echo DesktopPath = objShell.SpecialFolders("Desktop"^) 
echo Set objShortCut = objShell.CreateShortcut(DesktopPath ^& "\" ^& Nom ^& ".lnk"^) 
echo objShortCut.TargetPath = Dblquote(CheminApplication^) 
echo ObjShortCut.IconLocation = "Winver.exe,0" 
echo objShortCut.Save 
echo End Sub 
echo ^'********************************************************************************************** 
echo ^'Fonction pour ajouter les doubles quotes dans une variable 
echo Function DblQuote(Str^) 
echo DblQuote = Chr(34^) ^& Str ^& Chr(34^) 
echo End Function 
echo ^'********************************************************************************************** 
) > %vbsfile% 
Start /Wait %vbsfile% 
Del %vbsfile% 
::**************************************************************************************************** 
0
set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs" 
echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT% 

echo Set shortcut = oWS.CreateShortcut("%USERPROFILE%\Desktop\unturned.exe.lnk") >> %SCRIPT% 

echo shortcut.TargetPath = "D:\SteamLibrary\SteamApps\common\Unturned\Unturned.exe -batchmode -nographics +secureserver/TheServer" >> %SCRIPT% 

echo shortcut.Save >> %SCRIPT% 


cscript /nologo %SCRIPT% 
del %SCRIPT% 
Смежные вопросы