// CurrentDirectory の移動 
    sh.CurrentDirectory = "d:/" ;
    print( sh.CurrentDirectory );
 ■ Exec 
  SYNTAX 
    Exec( cmd )          // command line 文字列 
  DESC 
    外部 Application を SubProcess で実行する
    stdout を取得できるので, 連携できる
  var sh = new ActiveXObject("WScript.Shell" );
  // Exec() は Block されない 
  var oExec = sh.Exec("notepad" );
  // プロセス ID 
  oExec.processID;
  // SubProcess が実行中は 0 がかえる 
  while ( oExec.Status == 0 )
  {
      WScript.echo( "wait"  );
       WScript.Sleep(100);
  }
  WARNING 
  
  // サブプロセスが終了していないと 0 が常にかえる 
  // 正しい値をとるには, 処理の終了をまつ 
  // ExitCode は C での int main() の戻値 
  code = oExec.ExitCode;
 
  var oExec = sh.Exec("notepad" )
  // 3 sec まつ 
  WScript.Sleep(3000);
  // 実行中の SubProcess を終了させる 
  oExec.Terminate();
 
  // stdout がすべて取得するまで まつことで終了まちもできる 
  var  s = oExec.StdOut.ReadAll();
  var s = "" ;
  while ( !oExec.StdOut.AtEndOfStream ) {
    // 1 byte 読む 
    s += oExec.StdOut.Read(1);
    // 1 行よむ ( 引数はなし )  
    s += oExec.StdOut.ReadLine();
    if ( s.indexOf("Press any key" ) != -1 ) break;
  }
 ■ Run 
  DESC 
    外部アプリケーションを SubProcess で実行する
    Window を最小化して実行できる
    stdout をとるには, Exec() を使うこと
  SYNTAX 
    Run(
        cmdline           // cmdline 文字列 
        [, modeWindow ]    // Window の表示 mode 
        [, isWait  ]      // SubProcess の終了をまつか 
        )
  RET 
    ExitCode             // 実行した Program の終了コード 
   // Interpreter 
      
     var sh = new ActiveXObject("WScript.Shell" );
     // notepad を非表示で起動 
     //    処理は Block される 
     sh.Run( "notepad" , 0, true );
     // cmdline を渡すため 
     //   以下の記述でも OK  
     sh.Run( "notepad d:/foo.txt" , 0, true );
     // Redirect はできない  
     sh.Run( "hostname > foo.txt" , 0, true );
     // notepad を最小化で起動 
     //    処理は Block される 
     sh.Run( "notepad" , 7, true );
 
   0  ウィンドウを非表示 && 別のウィンドウをアクティブにする
   1  ウィンドウをアクティブ && 表示  ウィンドウが最小化または最大化されている場合は、元のサイズと位置に戻る
   2  ウィンドウをアクティブにし、最小化ウィンドウとして表示する
   3  ウィンドウをアクティブ && 最大化にして表示
   
   4  ウィンドウを最新のサイズと位置で表示  アクティブ・ウィンドウは切り替わらない
   5  ウィンドウを現在のサイズと位置で表示  && アクティブにする
   6  指定したウィンドウを最小化し、Zオーダー上で次に最上位となるウィンドウをアクティブにする
   7  ウィンドウを最小化ウィンドウとして表示.  アクティブ・ウィンドウは切り替わらない
   8  ウィンドウを現在の状態で表示する。アクティブ・ウィンドウは切り替わらない
   9  ウィンドウをアクティブにして表示する。ウィンドウが最小化または最大化されている場合は、元のサイズと位置に戻る
   10  アプリケーションを起動したプログラムの状態に基づいて表示状態を設定する
 ■ SpecialFolder 
  
  SYNTAX 
    SpecialFolder( "path"  );
  DESC 
    Windows デフォルトの Directory パスをかえす
    ( MyDocument など )
    // Documents and Settings/ 
    var d = sh.SpecialFolders("MyDocuments" );
 ■ 環境変数(ENV) 
  SYNTAX 
    var sh = new ActiveXObject("WScript.Shell" );
    var env = sh.Environment("Process" );
    // Documents and Settings/usr 
    env.item("HOMEPATH" );
  SYSTEM   : 全ユーザーに適用
  UEER     : ユーザー環境変数。ログオン・ユーザーごとに適用
  PROCESS  : プロセス環境変数 現在有効な全環境変数( readonly )
  VOLATILE : 一時環境変数。ログオフと同時に破棄される一時的な環境変数
 
  // user ENV Object を取得 
  var WshEnvironment = sh.Environment("User" );
  // .item( KEY ) で 値を取得 
  // 環境変数 "PATH"  を参照 
  var val = env.item( "PATH"  );
  // .item( KEY )で値を指定 
  WshEnvironment.item( "PATH"  ) = val;
  // USERNAME は PROCESS になる 
  var env = sh.Environment("PROCESS" );
  var usr = env.item( "USERNAME"  );
 ■ レジストリ.Registery 
    // レジストリを作成 
    sh.RegWrite "HKCU\Software\ACME\FortuneTeller\" , 1, "REG_BINARY" 
    // KEY の値を取得 
    sh.RegName( "HKCU\Software\ACME\FortuneTeller\MindReader"  );
    // 消す 
    sh.RegDelete( "HKCU\Software\ACME\FortuneTeller\MindReader"  );