| > DOS窓を表示することなく、SUBST(DOS)コマンドを実行する
> ことは可能でしょうか。
「DOS窓を表示することなく」とちょっと違いますが「DOS窓を最小化で実行する」
には、バッチファイルを作成し、シェル実行 "z:\subst.bat",表示=最小化
と言うように「表示=最小化」で実行する。
バッチファイルを作ることなくそのまま実行したい場合は、フォームとコマンド
ボタンを使用し、コマンドボタンの「シェル実行」に
"subst.exe","x: y:\","","最小化"
と言うような「最小化"」オプションを指定して実行。なお、コマンドボタンは
「メソッド呼び出し 実行」でスクリプトから実行しても良し!
「DOS窓を最小化で実行する」では無く「DOS窓を表示することなく」実行したい
場合には、たとえば VBScript を使用すれば一応可能である。
たとえば
WScript.CreateObject("WScript.Shell").Run "subst.exe x: y:\", 0, True
と言うようなテキストファイルで、拡張子を .vbs とした VBScript を用意し
「システム」コマンドであれば
システム "wscript.exe","z:\subst.vbs",起動フォルダ="z:\",自動クローズ=する,フルスクリーン表示=しない
と言うように実行する。
「シェル実行」コマンドであれば
シェル実行 "z:\subst.vbs"
と言うように実行する。
「DOS窓を表示することなく」と言う事で非表示にするわけですが VBScrpt の
Run メソッドは、2つめのパラメータ 0 が
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/wsmthrun.asp
IntWindowStyle 内容
0 ウィンドウを非表示にし、別のウィンドウをアクティブにします。
と言う事で非表示で実行します。
あと、バッチファイルや VBScript は最初から作成し保存したものを利用しても
構いませんし、パラメータなどが変更になる場合は「印字」コマンドでファイル
を作成し、そしてそれを実行し、終了後には削除するという方法でも構いません。
|