File: win32_shortcut.js

package info (click to toggle)
cgit 1.2.1%2Bgit2.18.0-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 37,580 kB
  • sloc: ansic: 207,716; sh: 172,917; perl: 28,960; tcl: 21,663; python: 6,441; makefile: 3,642; php: 120; asm: 98; csh: 45; ruby: 24; lisp: 12
file content (34 lines) | stat: -rw-r--r-- 888 bytes parent folder | download | duplicates (22)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// 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();
}