35 lines
888 B
JavaScript
35 lines
888 B
JavaScript
|
// 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();
|
||
|
}
|