【问题标题】:Trying to create a shortcut in batch for server尝试为服务器批量创建快捷方式
【发布时间】:2015-10-05 06:59:45
【问题描述】:

尝试使用 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%

无法保存。

【问题讨论】:

  • “无法保存”是什么意思?快捷方式属性对话框不会关闭?批处理文件无法写入 VBS 输出?还是什么?
  • 当我运行程序时,它显示 WshShortcut.save:无法保存快捷方式。我知道它与 -batchmode 和最后的其他事情有关,因为这些是实际上指向文件本身的额外内容。那么有没有办法添加这些额外的东西。
  • 我自己回答了,不过感谢您的帮助。我不得不将 -batchmode 和其他东西移动到目标路径而不是名称

标签: batch-file vbscript shortcut


【解决方案1】:
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%

【讨论】:

    【解决方案2】:

    这应该可以解决问题:

    @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%
    ::****************************************************************************************************
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-23
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-22
      • 2012-01-19
      • 2012-08-10
      相关资源
      最近更新 更多