Windows10だからかSPTD 2.xだからなのか・・・
イメージファイルのアンマウントに支障が出るようになったAxCmd.exe
http://d.hatena.ne.jp/nakapon/20160416
Alcohol Softには連絡したがいつ対応されるか、そもそも
対応してくれるのか不明な状態
他の方法で回避できないかといろいろと試したわけだが
どうにか外部ツールの使用で解決した。
使用するのはvectorで見つけたEjctClse.exe。
EjctClse.exeはドライブレター指定方式。一方スクリプトは
ドライブ番号指定のため、ドライブレター取得のためだけに
WMPlayer.OCXを使っている。
スクリプトをドライブレター指定に変更すると言う手も
考えたが、ドライブレターは簡単に変更できてしまうため
今まで通りドライブ番号指定で動かすことにした。
なおEjctClse Ver1.540はドライブ指定を""で囲まないと
メニューが表示されてしまう
#作者さんには連絡済み
//!*script
// Alcohol 52%アンマウントルーチン Ver 3.0
// 引数1:アンマウント対象ドライブ番号
// 使用外部プログラム:C:\Program Files (x86)\EjctClse\EjctClse.exe
// ============================================================
//^変数宣言
var command = ''; // PPxコマンドワーク
var WSHObj = ''; // wshシェル
var WMPObj = ''; // OCX
var Drives = ''; // ドライブコレクション
var dLetter = ''; // 処理対象ドライブレター
var RetCD = ''; // 戻り値
// ドライブレター取得
WMPObj = new ActiveXObject('WMPlayer.OCX');
Drives = WMPObj.cdromCollection;
dLetter = Drives.Item(PPx.Arguments.Item(0)).driveSpecifier;
WMPObj = '';
Drives = '';
//PPx.Echo(dLetter);
// アンマウント処理(EjctClse)
WSHObj = new ActiveXObject('WScript.Shell');
command = '"C:\\Program Files (x86)\\EjctClse\\EjctClse.exe"'
+ ' "' + dLetter + '" /X';
//PPx.Echo(command);
RetCD = WSHObj.run(command,0,true);
//PPx.Echo(RetCD);
// 終了処理
WSHObj = '';
PPx.Quit();