- PR -

バッチファイルで関数は使えるのでしょうか?

投稿者投稿内容
未記入
会議室デビュー日: 2006/02/21
投稿数: 16
投稿日時: 2006-02-24 09:05
何度もすいませんm(._.)m。
括弧でくくる方法でうまくいきました。ありがとうございます。

FOR %%A IN (A B C) DO (
echo %%A start
echo %%A end
)

INの中のA,B,Cもホントは数が多い為、改行させたいのですが、
これまたうまくいきません・・・。

FOR %%A IN (
A
B
C
) DO (
echo %%A start
echo %%A end
)

こんな感じでやってみたのですが、これまたダメで・・・。
なにか方法はありますでしょうか?
よろしくお願い致します。

バッチファイルのつくりについて・・・
一つのバッチファイルで行う仕様なのです。すいません。
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2006-02-24 10:39
閉じ括弧・DO・開き括弧は、一行に書く
DO と 開き括弧の間には、スペースを入れる必要がある。

# つくづく変な仕様だと思いますが・・・
未記入
会議室デビュー日: 2006/02/21
投稿数: 16
投稿日時: 2006-02-24 10:45
閉じ括弧・DO・開き括弧は、一行に書く
DO と 開き括弧の間には、スペースを入れる必要がある。

↑これは特に決まってはいません。ただ、INの中のA,B,Cを改行できないのでしょうか?
という質問でした。分かりづらくてすいません。

まいるどきゃっと
大ベテラン
会議室デビュー日: 2004/08/12
投稿数: 135
お住まい・勤務地: 群馬
投稿日時: 2006-02-24 10:54
バッチファイルは1行1命令が基本的で、括弧をつかうことで複数行に分けられる部分が一部あるという認識でいたほうがいいです。あまり高度なことを期待してはいけません

INの中身が多くて困るのでしたら、中身を別ファイルにしてみてはどうでしょう?
FOR /F %%A IN (ファイル名) DO 〜で行けたはずです。
未記入
会議室デビュー日: 2006/02/21
投稿数: 16
投稿日時: 2006-02-24 11:00
皆さん、ご教授ありがとうございました。
いろんな解決策があることに勉強させられました。

いくつか組み合わせて、試したいと思います。
ありがとうございましたm(_ _)m 。
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2006-02-24 12:44
すでに納得されたようですが、

for %%a in (
"A1
A2"
B
) do (

のようにダブルクォートで囲っておくと、
A1とA2が(間に半角スペースをはさんで)結合されて一個の値としてパラメータに渡されます。

残念ながら、区切り文字を入れずに結合する方法はわかりません。

スキルアップ/キャリアアップ(JOB@IT)