« コマンドラインで壁紙を変更する。 | トップページ | コマンドラインからスクリプトとDDEを使ってPDFファイルをページ指定で開く。 »

2007年1月22日 (月)

コマンドラインでショートカット(.lnkと.url)のアイコンを変更する。

以前は、Shortcut.exeがありましたが、最近は、入手困難です。

以下は、コマンドラインでショートカット(.lnk)とインターネットショートカット(.url)のアイコンを変更します。

アイコン変更.CMD "ショートカットファイル" "アイコンファイル" インデクス

@if(0)==(0) ECHO OFF
CScript.exe //NoLogo //E:JScript "%~f0" "%~dp1" "%~nx1" %2 %3
GOTO :EOF
@end
var Link=new ActiveXObject('Shell.Application').NameSpace(WScript.Arguments.Item(0)).Items().Item(WScript.Arguments.Item(1)).GetLink;
Link.SetIconLocation(WScript.Arguments.Item(2),WScript.Arguments.Item(3));
Link.Save();

ショートカット(.lnk)だけなら、WScript.Shellを使っても出来ます。
WScript.Shellは、インターネットショートカット(.url)のアイコン変更に使えません。

以下は、コマンドラインでショートカット(.lnk)のアイコンを変更します。

アイコン変更.CMD "ショートカット.lnk" "アイコンファイル" 番号

@if(0)==(0) ECHO OFF
CScript.exe //NoLogo //E:JScript "%~f0" %1 %2 %3
GOTO :EOF
@end
var Link=new ActiveXObject('WScript.Shell').CreateShortCut(WScript.Arguments.Item(0));
Link.IconLocation=WScript.Arguments.Item(1)+','+WScript.Arguments.Item(2);
Link.Save();

« コマンドラインで壁紙を変更する。 | トップページ | コマンドラインからスクリプトとDDEを使ってPDFファイルをページ指定で開く。 »