Skip to content

Instantly share code, notes, and snippets.

@hymkor
Last active August 9, 2023 11:32
Show Gist options
  • Save hymkor/e0b0c4501314d52547cf to your computer and use it in GitHub Desktop.
Save hymkor/e0b0c4501314d52547cf to your computer and use it in GitHub Desktop.
ショートカットをコマンドラインから作るバッチファイル(インラインJScript)
rem = 0 /*
@cscript //E:JScript //nologo "%~f0" %1 %2 %3 %4 %5 %6 %7 %8 %9 & exit /b
*/
if( WScript.Arguments.length < 2 ){
WScript.Echo("Usage: lnk.cmd FILENAME SHORTCUT ... make shortcut")
WScript.Echo(" lnk.cmd SHORTCUT ... print shortcut-target")
WScript.Quit()
}
var src=WScript.Arguments.Item(0);
var dst=WScript.Arguments.Item(1);
var fsObj=new ActiveXObject("Scripting.FileSystemObject");
src=fsObj.GetAbsolutePathName(src);
dst=fsObj.GetAbsolutePathName(dst);
if( fsObj.FolderExists(dst) ){
dst = dst + "\\" + fsObj.getFileName(src);
}
if( dst.substring(dst.length-4) != ".lnk" ){
dst = dst + ".lnk";
}
var shell1=new ActiveXObject("WScript.Shell");
var shortcut1=shell1.CreateShortcut(dst);
if( shortcut1 == null ){
WScript.Quit()
}
shortcut1.TargetPath=src;
shortcut1.Save();
WScript.Echo(" " + src);
WScript.Echo("--> " + dst);
@hymkor
Copy link
Author

hymkor commented Sep 10, 2014

ただし、実行時の出力がみっともない

✏ lnk.cmd bin bin_
�[36;40;1m<HAYAMA-PC:C:\Users\Hayama>
rem=0 /*
    C:\Users\Hayama\bin
--> C:\Users\Hayama\bin_.lnk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment