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();