问题
I'm normally a Linux guy, but I need to write a batch script on Windows to change the target of some shortcuts. Is there a command to do that?
回答1:
I doubt there is a way to do it with a batch script. It's doable in VBScript, though.
Set sh = CreateObject("WScript.Shell")
Set shortcut = sh.CreateShortcut("C:\Wherever\Shortcut.lnk")
shortcut.TargetPath = "C:\Wherever\Whatever.txt"
shortcut.Save
Save the script in a file ending in vbs and run it from the command line using cscript whatever.vbs
.
(Don't be fooled by the name -- CreateShortcut
is used to both create and modify shortcuts.)
回答2:
There isn't a native program that comes with windows to achieve this. I scoured the internet for this same functionality awhile ago and stumbled upon the free software XXMKLINK.
With XXMKLINK, you can write a batch file for software installation which has been done by specialized instllation programs. Basically, XXMKLINK is to gather the information from a command line and package it into a shortcut.
Command syntax of XXMKLINK:
xxmklink spath opath [ arg [ wdir [ desc [ mode [ icon[:n] ]]]]] where spath path of the shortcut (.lnk added as needed) opath path of the object represented by the shortcut arg argument string (use quotes with space, see below) wdir path of the working directory (for "Start in") desc description string (shown in Shosrtcut's Properties) mode display mode (1:Normal [default], 3:Maximized, 7:Minimized) icon[:n] icon file [with optional icon index value n] In addition to the above, the following switches are supported which can be placed in any position in the command line. /p prompts before action /q no output when successful (quiet) /e checks error condition strictly
The downside is you'll need to copy the xxmklink exe onto each computer with the batch script.
A link to download it is available at the bottom of the linked page.
来源:https://stackoverflow.com/questions/416957/change-a-shortcuts-target-from-command-prompt