バッチファイルを動かしたい

解決


kiki  2005-09-16 20:14:37  No: 125418

はじめまして。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が作成されません)

どこをどうすればいいのでしょうか?
へたっぴなプログラムですが、よろしくお願いします。


kiki  2005-09-16 20:16:19  No: 125419

すいません、
pg = "test.bat" & " " & txt1 & " " & txt2
です。最後の「&」が抜けてました。


ガッ  2005-09-16 20:36:45  No: 125420

Shell Environ$("comspec") & " /c start test.bat " & txt1 & " " & txt2
かな?
留意点
・Shell()を実行するときの
  カレントディレクトリ、カレントドライブは正しいか?
・command.com or cmd.exe の引数の確認


kiki  2005-09-16 22:16:33  No: 125421

ガッさん、動きました!!
ot.txtもちゃんとできあがりました。

恐縮ですが、さらに質問です。。。
Environ$関数をヘルプで調べたところ、
「OSの環境変数に割り当てられた文字列型(string)を返す」
とありましたが言ってる意味がさっぱりわかりません。
comspecとはコンピュータのスペックのことですか?

また留意点にある「引数の確認」ですが、
これはbatに書いてある、コマンドを確認せよということでしょうか?

聞いてばかりで申し訳ありませんが、よろしくお願いします。


いな  2005-09-16 22:42:42  No: 125422

>「OSの環境変数に割り当てられた文字列型(string)を返す」
  [マイコンピュータ]を右クリック
  [システムのプロパティ]-[詳細設定]-[環境変数]
  にシステムの環境変数(S)に、
  変数comspecがあります。その値を返す。

  という意味ですが通じますでしょうか?

>comspecとはコンピュータのスペックのことですか?
違います。メッセージにありますとおり、OSの環境変数です。


kiki  2005-09-16 23:11:39  No: 125423

いなさん、ありがとうございます。
環境変数まではいいのですが、
変数comspecとはいったい何者?ってな感じです。
comspecの値ってなにが入っているのでしょうか?
見る方法ありますか?


kiki  2005-09-16 23:30:42  No: 125424

すいません、値って隣りに出てました、、、(^^;)


いな  2005-09-17 00:15:15  No: 125425

@IT:Windows TIPS
http://www.atmarkit.co.jp/fwin2k/win2ktips/267swchos/swchos.html

え〜っと、ちょいときつい言い方になりますが、
OSの種別がkikiさんが書いていない為、
OSの種類によってバッチファイルのパスの位置を変えて
実行ってことです。


kiki  2005-09-17 01:54:36  No: 125426

失礼しました。OSは2000を使用しています。

このリンクのサイト、とっても勉強になりました。
今度はDriveListBoxやFileListBoxなどを使って
直接入力しなくても済むようにがんばってみます。

ありがとうございました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加