- - PR -
VB.netアプリからDOSコマンドを利用したいのですが
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-12-06 23:21
お世話になります。
あるパッケージソフトのEXEでコマンドプロンプトやバッチファイルから以下の様に使用するものがありまして、 C:\>SET A = AAAAA C:\>SET B = BBBBB C:\>SET C = CCCCC C:\>ZZZZZ.exe -s %A% -d %B%-%C% のような感じです。 これをVB.netコンソールアプリから実行したいと考えています。 参照元記事を見ながら C:\>ZZZZZ.exe -s AAAAA -d BBBBB-CCCCC というコマンドは発行でき、リダイレクト(?)結果も利用することができました。 そこで C:\>ZZZZZ.exe -s %A% -d %B%-%C% の形(SET〜を使った形)でプログラムから実行さしたいのですが、 よくわかりません。 具体的には 参照元記事でいうと コマンドライン指定のところで Dim A as String = AAAAA Dim B as String = BBBBB Dim C as String = CCCCC psi.Arguments = "/c ZZZZZ.exe %A% -d %B%-%C%" とやっても %A%とかはそのままの文字列で渡されるみたいで コマンドが正常に実行されません。 よってバッチファイルで書くような感じで SET〜の変数の値もプログラムから指定できればいいなぁと考えています。 一応ShellとかWin32APIも調べてみましたが・・・;; そもそも可能かどうか怪しいですが、 みなさんのご意見をお聞かせください。 つたない文章で申し訳ありません。 | ||||||||
|
投稿日時: 2004-12-06 23:45
諸農です。
んん?環境変数をセットしたいってことですか? それとも変数で実行ファイルへのパラメータを渡したいってことなのかしら? そのパラメータを環境変数から取得したいってことなのかしら? 何をしたいのかよく判らないのですが、SETコマンドを投入したいってことなら 最初の4行を改行文字で連結してからpsi.Argumentsにセットしてみるとか? 環境変数を取得したいってことでしたら、参照元記事に取得の方法は書いてありますよね? _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2004-12-07 07:20
msoです。
ちょっと便乗で質問させてください。 昨日の時点だったのですが、DosのSTARTコマンドを発行したいと おもっていたのですが、できませんでした。 最初はShell関数を使えばいいのかな?って思ったのですが、 どうやってSTARTを実行させればいいのかわかりませんでした。 ご存じの方がいたらやり方を教えてください。 | ||||||||
|
投稿日時: 2004-12-07 11:06
msoさん、こんにちは。
試してませんが、/C オプション付きで CMD.EXE を呼び出せば、コマンドが使えるんじゃないでしょうか。 | ||||||||
|
投稿日時: 2004-12-07 18:48
msoさん>
Process.Start(string)でいいんじゃない?
_________________ | ||||||||
|
投稿日時: 2004-12-13 01:45
お世話になります。
いろいろ試してみましたが、以下の方法で いくことにしました。 1.毎回最初にバッチファイルを作成する。 具体的にはC:>ZZZZZ.exe -s %A% -d %B%-%C% をバッチファイルに書き出す。パラメタの部分は日時などなので毎回変更されます。 2.次に psi.Arguments = "/c XXXXX.bat" でバッチファイルを実行し、 その結果をもらう という方法でなんとかいけそうです。 みなさんご意見ありがとうございました。今後ともよろしくお願いします。 |
1