4

我们使用 SCCM 2012 R2、server 2012 服务器和 Windows 7 客户端。学生机器通常是 Win7-64。

我创建了一个脚本来安装 Eclipse,基本上,创建一个目录并复制文件(Eclipse 没有安装程序并且是 32 位软件)。在我的脚本中,为了让学生的体验更好,我想将快捷方式放在桌面和开始菜单中。代码是这样的:

REM Put icon on desktop
copy "Eclipse Mars (64).lnk" "C:\Users\Public\Desktop"
rename "C:\Users\Public\Desktop\Eclipse Mars (64).lnk" "C:\Users\Public\Desktop\Eclipse Mars.lnk"

但是,当链接出现在客户端桌面上时,“C:\Program Files (x86)\Eclipse\eclipse.exe”的正确目标更改为“C:\Program Files\Eclipse\eclipse.exe”,因此不会t 工作(与 Start In 相同)。

是什么将快捷方式内容更改为错误的 Program Files 目录?

最后,虽然我在此示例中提到了 Eclipse,但它发生在任何 32 位快捷方式脚本上到 64 位机器上。

4

2 回答 2

0

您可以使用可以从主批处理文件调用的简单 VBS 脚本创建真正的 Windows 快捷方式。

主批处理文件:

REM Put icon on desktop
call "Create Shortcut.vbs" "C:\Users\Public\Desktop\Eclipse Mars (64).lnk" "C:\Program Files (x86)\eclipse-mars\eclipse.exe" "C:\Program Files (x86)\eclipse-mars"

VBS“创建快捷方式.vbs”:

' Check the number of parameters
If 3 <> WScript.Arguments.Count Then
    WScript.Echo "Please call this file using the following parameters:"
    WScript.Echo
    WScript.Echo "   LINK PATH   - Absolute path where the shortcut file will be created"
    WScript.Echo "   TARGET_PATH - Absolute path of the target program"
    WScript.Echo "   WORKING_DIR - Working directory used by this shortcut"
    WScript.Quit(1)
End If

strLinkPath   = WScript.Arguments(0)
strTargetPath = WScript.Arguments(1)
strWorkingDir = WScript.Arguments(2)

set oShell = WScript.CreateObject("WScript.Shell")

set oShellLink = oShell.CreateShortcut(strLinkPath)
oShellLink.TargetPath       = sTargetPath
oShellLink.WorkingDirectory = strWorkingDir
oShellLink.WindowStyle      = 1
oShellLink.Description      = ""
oShellLink.IconLocation     = strTargetPath
oShellLink.Save
于 2017-10-05T19:03:23.840 回答
0

我做了一些研究,你应该试试这个:

ren "Eclipsce Mars (64).lnk" eclm.tmp
copy "eclm.tmp" "C:\Users\Public\Desktop"
ren "C:\Users\Public\Desktop\eclm.tmp" "C:\Users\Public\Desktop\Eclipse Mars.lnk"
ren eclm.tmp "Eclipsce Mars (64).lnk"

我做了什么:

  1. 将原来的改名.lnkeclm.tmp
  2. 复制eclm.tmpDesktop
  3. 重命名Desktop\eclm.tmpEclipse Mars.lnk
  4. 将原名重命名.lnk为正常。

应该.lnk绕过 Windows 更改文件内容 的倾向。

如果可行,请在评论和投票计数器中告诉我!
~CSS

于 2016-10-27T21:10:27.143 回答