ショートカットファイル操作

 ここでは、JScriptショートカットファイルの作成等の操作をする方法について紹介します。
ショートカットファイルの作成既存のショートカットファイルから参照先のパスを取得する等の方法をご紹介します。

 ショートカットファイルを作成するには以下の関数プロパティを使用することで実現できます。
ファイルまたはフォルダへのショートカットファイルの作成と、Webページへのショートカットファイルの作成方法を紹介します。
作成するショートカットファイルショートカットキーを割り当てる方法もここで合わせて紹介します。
関数名
 object.CreateShortcut( path );

関数説明
  ショートカットまたはURLショートカットへのオブジェクト参照を作成する。
 pathに指定したパスにすでにショートカットファイルが存在する場合、
 そのショートカットへの参照を取得します。
 
引数
 object・・・・・・WshShellオブジェクト
 path・・・・・・・作成または取得するショートカットファイルへのパス
          (拡張子が.lnkはファイル及びフォルダへのショートカット、
          .urlはWebページへのショートカットを作成するときに指定する)

戻り値
 作成または、取得したWshShortcutオブジェクトまたはWshURLShortcutオブジェクト
 (pathの拡張子が.lnkのときはWshShortcutオブジェクト、
 .urlのときはWshURLShortcutオブジェクト)
 

プロパティ名
 object.TargetPath;

プロパティ説明
  ショートカットファイルの参照先のパスまたはURLを管理するプロパティ。
 
引数
 object・・・・・・WshShortcutオブジェクトまたはWshURLShortcutオブジェクト
 
戻り値
 ショートカットファイルの参照先のパスまたはURL
 

プロパティ名
 object.WindowStyle;

プロパティ説明
  ショートカットファイル実行時に参照先パスのウインドウ表示時の
 表示形式(ウインドウスタイル)を管理するプロパティ。

引数
 object・・・・・・WshShortcutオブジェクト
 
戻り値
 ウインドウスタイル(ウインドウの表示形式)の値

[ウインドウスタイル]
内容
1 ウインドウをアクティブにし、通常サイズで表示
3 ウインドウをアクティブにし、最大化サイズで表示
7 最小化で表示し、次に上位となるウインドウをアクティブにする
 

プロパティ名
 object.IconLocation;

プロパティ説明
  ショートカットファイルのアイコンを管理するプロパティ。
 設定値の使用例(file.IconLocation = "notepad.exe, 0";)
 
引数
 object・・・・・・WshShortcutオブジェクト
 
戻り値
 アイコンの格納場所を示す文字列
 

プロパティ名
 object.Hotkey;

プロパティ説明
  ショートカットファイルに割り当てるショートカットキーを
 管理するプロパティ。
 設定値の使用例(file.Hotkkey = "CTRL+SHIFT+ALT+A";)
 注意として、文字列内にスペースは入れないこと。
 
引数
 object・・・・・・WshShortcutオブジェクト
 
戻り値
 ショートカットファイルに割り当てられているショートカットキーの
 組み合わせの文字列
 

プロパティ名
 object.WorkingDirectory;

プロパティ説明
  ショートカットキーが有効なディレクトリへのパスを管理するプロパティ。
 上記、Hotkeyプロパティで設定したショートカットキーが有効となるディレクトリ。
 
引数
 object・・・・・・WshShortcutオブジェクト
 
戻り値
 ショートカットキーが有効なディレクトリへのパス


関数名
 object.Save();

関数説明
  CreateShortcut()メソッドで作成したショートカットをディスクに保存する。
 本メソッドを呼び出すまで、WshShortcutオブジェクトの各プロパティの値を変更しても
 反映されません。
 そのため、必ず呼び出す必要があります。
 
引数
 object・・・・・・WshShortcutオブジェクト
 
戻り値
 なし
 

[サンプルコード1]
//  
//  ショートカットファイル操作
//  
//   ファイルへのショートカットを作成する。
//  

//  ウインドウスタイル
var WINSTL_NOMAL    = 1;    // ウインドウをアクティブにし、通常サイズで表示
var WINSTL_MAX      = 3;    // ウインドウをアクティブにし、最大化サイズで表示
var WINSTL_MIN      = 7;    // 最小化で表示し、次に上位となるウインドウをアクティブにする

//  Shell関連の操作を提供するオブジェクトを取得
var sh = new ActiveXObject( "WScript.Shell" );

//  ショートカットファイルを本ファイルと同階層に作成
var file = sh.CreateShortcut( "Info.txtへのショートカット.lnk" );

//  ショートカットの参照先パスを設定
//  (先頭に「file:/」を付加するとアイコンが自動設定される)
file.TargetPath = "file:/" + "C:/TEST/Info.txt";

//  ショートカットファイルの実行時のアプリケーションの
//  ウインドウスタイルを設定
file.WindowStyle = WINSTL_NOMAL;

//  アイコンを設定(今回は未設定)
//file.IconLocation = "";

//  ショートカットファイルに割り当てるショートカットキーを設定
file.Hotkey = "CTRL+SHIFT+A";

//  ショートカットキーが使用できる階層を本ファイルと
//  同階層に設定
file.WorkingDirectory = ".";

//  ショートカットファイルを保存
file.Save();

//  オブジェクトを解放
sh = null;

WScript.Echo( "終了" );


[実行結果1]
 実行前に、「C:/TEST」の階層に「Info.txt」ファイルを作成しておいてください。
その後、実行すると本ファイルと同階層に「Info.txt」ファイルへのショートカットファイルが作成されます。

[サンプルコード2]
//  
//  ショートカットファイル操作
//  
//   フォルダへのショートカットを作成する。
//  

//  ウインドウスタイル
var WINSTL_NOMAL    = 1;    // ウインドウをアクティブにし、通常サイズで表示
var WINSTL_MAX      = 3;    // ウインドウをアクティブにし、最大化サイズで表示
var WINSTL_MIN      = 7;    // 最小化で表示し、次に上位となるウインドウをアクティブにする

//  Shell関連の操作を提供するオブジェクトを取得
var sh = new ActiveXObject( "WScript.Shell" );

//  ショートカットファイルを本ファイルと同階層に作成
var file = sh.CreateShortcut( "TESTへのショートカット.lnk" );

//  ショートカットの参照先パスを設定
//  (先頭に「file:/」を付加するとアイコンが自動設定される)
file.TargetPath = "file:/" + "C:/TEST";

//  ショートカットファイルの実行時のアプリケーションの
//  ウインドウスタイルを設定
file.WindowStyle = WINSTL_NOMAL;

//  アイコンを設定(今回は未設定)
//file.IconLocation = "";

//  ショートカットファイルに割り当てるショートカットキーを設定
file.Hotkey = "CTRL+ALT+B";

//  ショートカットキーが使用できる階層を本ファイルと
//  同階層に設定
file.WorkingDirectory = ".";

//  ショートカットファイルを保存
file.Save();

//  オブジェクトを解放
sh = null;

WScript.Echo( "終了" );


[実行結果2]
 実行前に、「C:」ドライブの直下に「TEST」フォルダを作成しておいてください。
その後、実行すると本ファイルと同階層に「TEST」フォルダへのショートカットファイルが作成されます。

[サンプルコード3]
//  
//  ショートカットファイル操作
//  
//   Webページへのショートカットを作成する。
//  

//  Shell関連の操作を提供するオブジェクトを取得
var sh = new ActiveXObject( "WScript.Shell" );

//  ショートカットファイルを本ファイルと同階層に作成
var file = sh.CreateShortcut( "C:/Googleへのショートカット.url" );

//  ショートカットの参照先パスを設定
file.TargetPath = "http://www.google.co.jp/";

//  ショートカットファイルを保存
file.Save();

//  オブジェクトを解放
sh = null;

WScript.Echo( "終了" );


[実行結果3]
 「C:」ドライブの直下にGoogleトップページへのショートカットファイルが作成されます。

 ショートカットファイルから参照先パスを取得するには以下のサンプルにより解説しています。
使用している、関数プロパティショートカットファイルを作成で紹介していますので、そちらを参照してください。

[サンプルコード]
//  
//  ショートカットファイル操作
//  
//   ショートカットファイルから参照先パスを取得する。
//  

//  Shell関連の操作を提供するオブジェクトを取得
var sh = new ActiveXObject( "WScript.Shell" );

//  本ファイルと同階層のショートカットファイル「TESTへのショートカット.lnk」
//  オブジェクトを取得
var file = sh.CreateShortcut( "TESTへのショートカット.lnk" );

//  ショートカットの参照先パスを表示
WScript.Echo( file.TargetPath );

//  オブジェクトを解放
sh = null;


[実行結果]
 実行前に、本ファイルと同階層にショートカットファイルを置いてください。
置いたファイルのファイル名は「TESTへのショートカット.lnk」としてください。
その後、実行するとそのショートカットの参照しているパスがメッセージボックスで表示されます。
実行前の準備を忘れてしまった場合は、空のメッセージボックスがされますので、ご注意ください。


ファイル&フォルダ操作へ 目次 ネットワークドライブ操作へ