プロが教えるわが家の防犯対策術!

今メールを送るバッチファイルを作成しています。
宛先を書かれたテキストを引数で渡し処理したいのですが、その方法がわかりません。

下のような宛先が100件あったとします。
/宛先/////////////////////
a@a、b@b、c@c、…
/////////////////////////

上の宛先を%1、%2、と一つずつ引数として渡すことはできるのですが、
テキストに宛先を全部書いて、そのテキストを渡して処理をしたいです。

方法がわかる方回答よろしくお願いします。

A 回答 (5件)

直接の回答ではなくて恐縮ですが・・・



バッチファイルだけでメールを送るのはできなさそうなので、たぶん実際の送信部分は何かしらのプログラムを使っていると思いますが、もしかしてそのプログラムの機能で対応できたりしませんか?
また、バッチファイルでできることならバッチのほうが簡単ですが、ちょっと込み入った内容だとWSHのほうが細かい動作の指定もできて結果的に楽ということもあります。
特別な事情がなければWSHを検討されてもよいかと思います。
    • good
    • 0

> 色々調べましたが上のやつを実現するのにどうやってforを使ったらいいかわかりません。



「Forで何ができるか」は、勉強しました?
調べれば、いくらでも情報は見つかると思いますけど・・・

例えば・・・
「第8回 forコマンド(その2)
2.ファイル解析による繰り返し処理」
http://www.atmarkit.co.jp/fwin2k/operation/comma …

#質問に「メール」と言うキーワードが入っているので、実際のコードの提示はしません。
#(いないと思いますが)万が一、スパムメールを出そうとか考えている人が
#「メール」をキーワードにして検索してくると、よろしくないですので。

と言うことで、考え方だけ。

ファイルを
-----------------
a@a
b@b
c@c

z@z
-----------------
こんな風に1行1アドレスで用意しておいて、
FORコマンドを「/F 」で実行。
ファイルセットとして「()」の中にファイル名を指定。
DOコマンドで実際に実行するコマンドを記述。

と言う感じで・・・

それとも、ファイルのフォーマットは、
「1行に100個」でなければ駄目なんでしょうか?

でしたら、申し訳ありませんが分かりませんので、パス。
    • good
    • 0

こんな感じですか?


aaa.bat < bbb.txt
    • good
    • 0

> それが良くわからなかったので質問しました。


どこら辺が分からないのでしょうか?
#現在、どういうコードを書いてます?

ちなみに、ファイルは、1行1アドレスにしておかないと面倒ですよ。

この回答への補足

宛先コンマ区切りで入力します。
a@a、b@b、c@c、…、z@z

このコンマ区切りのところをテキストファイルに書いて渡したいです。

解らないのは上の実行方法、それにforを使用するならforもよくわかりません。。色々調べましたが上のやつを実現するのにどうやってforを使ったらいいかわかりません。

補足日時:2007/08/31 16:07
    • good
    • 0

DOSの「For コマンド」を使えばできるのでは・・・



使い方はDOSの「Helpコマンド」で確認してください。

この回答への補足

すみません。

それが良くわからなかったので質問しました。。

補足日時:2007/08/31 15:24
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています