- 締切済み
Windowsのバッチ(bat)ファイルでテキストの内容を引数として渡したい。
今メールを送るバッチファイルを作成しています。 宛先を書かれたテキストを引数で渡し処理したいのですが、その方法がわかりません。 下のような宛先が100件あったとします。 /宛先///////////////////// a@a、b@b、c@c、… ///////////////////////// 上の宛先を%1、%2、と一つずつ引数として渡すことはできるのですが、 テキストに宛先を全部書いて、そのテキストを渡して処理をしたいです。 方法がわかる方回答よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- K6A
- ベストアンサー率35% (59/164)
直接の回答ではなくて恐縮ですが・・・ バッチファイルだけでメールを送るのはできなさそうなので、たぶん実際の送信部分は何かしらのプログラムを使っていると思いますが、もしかしてそのプログラムの機能で対応できたりしませんか? また、バッチファイルでできることならバッチのほうが簡単ですが、ちょっと込み入った内容だとWSHのほうが細かい動作の指定もできて結果的に楽ということもあります。 特別な事情がなければWSHを検討されてもよいかと思います。
- dsuekichi
- ベストアンサー率64% (171/265)
> 色々調べましたが上のやつを実現するのにどうやってforを使ったらいいかわかりません。 「Forで何ができるか」は、勉強しました? 調べれば、いくらでも情報は見つかると思いますけど・・・ 例えば・・・ 「第8回 forコマンド(その2) 2.ファイル解析による繰り返し処理」 (http://www.atmarkit.co.jp/fwin2k/operation/command008/command02.html) #質問に「メール」と言うキーワードが入っているので、実際のコードの提示はしません。 #(いないと思いますが)万が一、スパムメールを出そうとか考えている人が #「メール」をキーワードにして検索してくると、よろしくないですので。 と言うことで、考え方だけ。 ファイルを ----------------- a@a b@b c@c … z@z ----------------- こんな風に1行1アドレスで用意しておいて、 FORコマンドを「/F 」で実行。 ファイルセットとして「()」の中にファイル名を指定。 DOコマンドで実際に実行するコマンドを記述。 と言う感じで・・・ それとも、ファイルのフォーマットは、 「1行に100個」でなければ駄目なんでしょうか? でしたら、申し訳ありませんが分かりませんので、パス。
- j_nishiz
- ベストアンサー率26% (183/697)
こんな感じですか? aaa.bat < bbb.txt
- dsuekichi
- ベストアンサー率64% (171/265)
> それが良くわからなかったので質問しました。。 どこら辺が分からないのでしょうか? #現在、どういうコードを書いてます? ちなみに、ファイルは、1行1アドレスにしておかないと面倒ですよ。
- dsuekichi
- ベストアンサー率64% (171/265)
DOSの「For コマンド」を使えばできるのでは・・・ 使い方はDOSの「Helpコマンド」で確認してください。
補足
すみません。 それが良くわからなかったので質問しました。。
補足
宛先コンマ区切りで入力します。 a@a、b@b、c@c、…、z@z このコンマ区切りのところをテキストファイルに書いて渡したいです。 解らないのは上の実行方法、それにforを使用するならforもよくわかりません。。色々調べましたが上のやつを実現するのにどうやってforを使ったらいいかわかりません。