はじめまして。VB6.0にて勉強をしています。
よろしくお願いします。
まず、パラメータを必要とするbatファイルがあります。
@test.bat
copy %1+%2 ot.txt /b
@in1.txt
A
B
C
@in2.txt
D
E
F
で、VBのフォームにテキストボックス2つとボタンを
作り、そのテキストボックスに
「in1.txt」と「in2.txt」を入力し、ボタンを押すと
test.batが動いてot.txtを作成させたいのですが・・・
txt1 = text1.text
txt2 = text2.text
pg = "test.bat" & " " & txt1 & " " txt2
shell pg
としてみたのですが、動きません。(ot.txtが作成されません)
どこをどうすればいいのでしょうか?
へたっぴなプログラムですが、よろしくお願いします。
すいません、
pg = "test.bat" & " " & txt1 & " " & txt2
です。最後の「&」が抜けてました。
Shell Environ$("comspec") & " /c start test.bat " & txt1 & " " & txt2
かな?
留意点
・Shell()を実行するときの
カレントディレクトリ、カレントドライブは正しいか?
・command.com or cmd.exe の引数の確認
ガッさん、動きました!!
ot.txtもちゃんとできあがりました。
恐縮ですが、さらに質問です。。。
Environ$関数をヘルプで調べたところ、
「OSの環境変数に割り当てられた文字列型(string)を返す」
とありましたが言ってる意味がさっぱりわかりません。
comspecとはコンピュータのスペックのことですか?
また留意点にある「引数の確認」ですが、
これはbatに書いてある、コマンドを確認せよということでしょうか?
聞いてばかりで申し訳ありませんが、よろしくお願いします。
>「OSの環境変数に割り当てられた文字列型(string)を返す」
[マイコンピュータ]を右クリック
[システムのプロパティ]-[詳細設定]-[環境変数]
にシステムの環境変数(S)に、
変数comspecがあります。その値を返す。
という意味ですが通じますでしょうか?
>comspecとはコンピュータのスペックのことですか?
違います。メッセージにありますとおり、OSの環境変数です。
いなさん、ありがとうございます。
環境変数まではいいのですが、
変数comspecとはいったい何者?ってな感じです。
comspecの値ってなにが入っているのでしょうか?
見る方法ありますか?
すいません、値って隣りに出てました、、、(^^;)
@IT:Windows TIPS
http://www.atmarkit.co.jp/fwin2k/win2ktips/267swchos/swchos.html
え〜っと、ちょいときつい言い方になりますが、
OSの種別がkikiさんが書いていない為、
OSの種類によってバッチファイルのパスの位置を変えて
実行ってことです。
失礼しました。OSは2000を使用しています。
このリンクのサイト、とっても勉強になりました。
今度はDriveListBoxやFileListBoxなどを使って
直接入力しなくても済むようにがんばってみます。
ありがとうございました。
ツイート | ![]() |