スクリプトでのエラーNo.01944
GG さん 11/09/20 22:26
 
以下のようにスクリプトでRun()の引数としてスペースを含むパスを指定すると、実
行時にエラーとなってしまいます。(スペースを含まなければ正常に実行できます)

  var iItem=GetNextItem(-1,2);
  if(iItem<0){
    Message("選択がありません");
  } else {
    var objShell = new ActiveXObject("WScript.Shell");
    objShell.Run( "C:\\Test Dir\\calc.exe" );
    objShell = null;
  }


バージョンは1.01(beta13)、環境はWindows7(64bit)です。

[ ]
RE:01944 スクリプトでのエラーNo.01945
wtr さん 11/09/20 22:36
 
こんばんは。
wtrです。

objShell.Run("C:\\Test Dir\\calc.exe");

のパスの前後に \" を付加すれば実行できますよ。
※エスケープシーケンス付きのダブルクォーテーション

↓このような感じですね。

objShell.Run("\"C:\\Test Dir\\calc.exe\"");

[ ]
RE:01944 スクリプトでのエラーNo.01946
wtr さん 11/09/20 22:47
 
追加です。
もしくは、こうです。
こっちの方がスマートかもしれませんね。

objShell.Run('"C:\\Test Dir\\calc.exe"');

[ ]
RE:01946 スクリプトでのエラーNo.01947
GG さん 11/09/21 07:12
 
wtrさん。

内側にもう一組ダブルクオーテーションが必要だったんですね。
おかげ様で解決しました。ありがとうございました。

[ ]