34 lines
888 B
34 lines
888 B
// git-gui Windows shortcut support |
|
// Copyright (C) 2007 Shawn Pearce |
|
|
|
var WshShell = WScript.CreateObject("WScript.Shell"); |
|
var argv = WScript.Arguments; |
|
var argi = 0; |
|
var lnk_path = argv.item(argi++); |
|
var ico_path = argi < argv.length ? argv.item(argi++) : undefined; |
|
var dir_path = argi < argv.length ? argv.item(argi++) : undefined; |
|
var lnk_exec = argi < argv.length ? argv.item(argi++) : undefined; |
|
var lnk_args = ''; |
|
while (argi < argv.length) { |
|
var s = argv.item(argi++); |
|
if (lnk_args != '') |
|
lnk_args += ' '; |
|
if (s.indexOf(' ') >= 0) { |
|
lnk_args += '"'; |
|
lnk_args += s; |
|
lnk_args += '"'; |
|
} else { |
|
lnk_args += s; |
|
} |
|
} |
|
|
|
var lnk = WshShell.CreateShortcut(lnk_path); |
|
if (argv.length == 1) { |
|
WScript.echo(lnk.TargetPath); |
|
} else { |
|
lnk.TargetPath = lnk_exec; |
|
lnk.Arguments = lnk_args; |
|
lnk.IconLocation = ico_path + ", 0"; |
|
lnk.WorkingDirectory = dir_path; |
|
lnk.Save(); |
|
}
|
|
|