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