【问题标题】:Bat file to create a Windows 7 shortcut.lnk on my desktop在我的桌面上创建 Windows 7 快捷方式的 Bat 文件
【发布时间】:2012-10-26 07:24:03
【问题描述】:

如何创建 bat 或 vbs 文件来创建与 Windows 7 兼容的桌面快捷方式?

我需要 bat 或 vbs 文件来使用以下目标和起始位置(如下)创建桌面快捷方式。我基本上创建了一个桌面应用程序,它使用 Google Chrome Portable 来呈现我的 web 应用程序,就好像它是 Windows 原生的一样,并且快捷方式将启动 Chrome,所以它非常轻量级,看起来像一个真正的 Windows 应用程序,有点像 Prism 过去所做的。我尝试手动创建shortcut.lnk,但是当我的用户安装我的应用程序时,它不会通过这个路径C:\Users\Public\Desktop 提取我的shortcut.lnk 所以这就是为什么我现在尝试创建一个bat 或vbs 文件我可以在安装时运行。感谢您的帮助。

目标:

C:\MyProgram\App\Chrome-bin\chrome.exe --user-data-dir="C:\MyProgram\Data\profile" --app=http://my-web-site-url .com/

开始于:

C:\MyProgram\App\Chrome-bin

【问题讨论】:

    标签: windows-7 vbscript batch-file desktop-shortcut lnk


    【解决方案1】:

    您的安装程序应该能够做到这一点......这是在 VBS 中的方法:

    Set wsc = WScript.CreateObject("WScript.Shell")
    Set lnk = wsc.CreateShortcut(wsc.SpecialFolders("desktop") & "\XXXX.LNK")
    
    lnk.targetpath = "C:\MyProgram\App\Chrome-bin\chrome.exe"
    lnk.arguments = "--user-data-dir=""C:\MyProgram\Data\profile"" --app=http://my-web-site-url.com/"
    lnk.description = "Bla bla"
    lnk.workingdirectory = "C:\MyProgram\App\Chrome-bin" 
    lnk.save
    

    【讨论】:

    • 老兄,太棒了,它成功了!如何使用您的脚本指定图标。非常感谢你
    • 最后一个问题,你太棒了。可以做一些这样的吗?我这样尝试并得到一个错误 lnk.IconLocation ref = "%SystemDrive%\MyProgram\Data\profile\Default\Web Applications\my-web-site-url.com\http_80\logo.ico"
    • 要扩展环境变量,请使用 ExpandEnvironmentStrings:lnk.IconLocation = wsc.ExpandEnvironmentStrings("%SystemDrive%\MyProgram\Data\profile\Default\Web Applications\my-web-site-url.com\http_80\logo.ico")
    • 就像一个魅力。你帮了我很大的忙。再次感谢您,我想我们现在可以说我的问题已正式解决。泰。现在我只需要弄清楚如何代表你寻求帮助
    【解决方案2】:

    您可以使用 INTERNAL 命令 MKLINK 来创建 SYMBOLIC 链接(即:它的作用就像它所链接的文件一样)。

    您需要有提升的命令提示符,或激活管理员帐户(设置密码,因为RUNAS 不会接受空白密码)。

    从提升的命令提示符:

    mklnk.bat

    @echo off
    mklink %~n1.lnk %~dpnx1
    

    使用有效的管理员帐户:

    mklnk.bat

    @echo off
    runas /user:administrator "cmd /c mklink %~dpn1.lnk %~dpnx1"
    

    因为mklink内部命令,所以不能用RUNAS直接访问,但是可以以管理员身份运行CMD.EXE,然后调用mklink在那里。


    上述两个批处理文件都将接受相同的选项并在同一位置创建相同的文件。所以如果你调用批处理文件mklnk.bat

    c:>mklnk welcome.msg
    symbolic link created for welcome.lnk <<===>> welcome.msg
    

    另一个CMD.EXE窗口会在屏幕上闪烁,但这是正常的。

    【讨论】:

    • 以上不会把链接放到桌面上,而是放在与指定文件相同的目录下。在我上面给出的示例中,它位于当前目录中。
    猜你喜欢
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    相关资源
    最近更新 更多