|
630) バッチ処理で悩んでます お願いします 2002/09/11(水) 10:48 |
|
はじめまして、バッチ処理で悩んでいます。 windows2000で動かすバッチファイルをDOSコマンドで書いていますが、IF文のところで、次のようなことは可能なのでしょうか? IF NOT "%1"=="W" goto NEXTA :NEXTA 次の処理 というところで、一番目の引数と"W"を比較しています。 もし引数が小文字の"w"だったときも、NEXTAへ処理を飛ばしたいのです。つまり、一番目の引数が大文字のWもしくは小文字のwかどうかを判別したい のです。条件文でよくあるようなORのようなものってないのでしょうか?不勉強で申し訳ありませんが、どなたかアドバイス、よろしくお願いいたします。 |
|
633) Re:バッチ処理で悩んでます じゃく 2002/09/11(水) 12:54 |
|
こんにちは。 >windows2000で動かすバッチファイルをDOSコマンドで書いていますが、IF文のところで、次のようなことは可能なのでしょうか? > >IF NOT "%1"=="W" goto NEXTA >:NEXTA >次の処理 > >というところで、一番目の引数と"W"を比較しています。 >もし引数が小文字の"w"だったときも、NEXTAへ処理を飛ばしたい >のです。 このバッチだと、大文字のWだったときは、NEXTAへ処理が飛んでいません。NOTがついていますので、W以外の時NEXTAに飛びます。 ただ、if文の次に何の記述もないのでNEXTAへ処理が進みます。 >つまり、一番目の引数が大文字のWもしくは小文字のwかどうかを >判別したいのです。条件文でよくあるようなORのようなものって >ないのでしょうか? つまりこういうことでしょうか? or に相当するのは、if文を続けて書けばすむと思います。 IF "%1"=="W" goto NEXTA IF "%1"=="w" goto NEXTA ("W"でも"w"でもないときの処理を書く場所) :NEXTA 次の処理 |
|
634) Re2:バッチ処理で悩んでます 間違えました 2002/09/11(水) 13:04 |
|
説明文を間違えました。 すみませんでした。 IF NOT "%1"=="W" GOTO NEXTA 処理1 GOTO NEXTB :NEXTA 処理2 :NEXTB 処理3 このとき、一番目の引数がWでもwでも処理1を動かしたいのです。 再度、よろしくお願いします。 |
|
636) Re3:バッチ処理で悩んでます じゃく 2002/09/11(水) 16:02 |
|
こんにちは。 >IF NOT "%1"=="W" GOTO NEXTA >処理1 >GOTO NEXTB >:NEXTA >処理2 >:NEXTB >処理3 > >このとき、一番目の引数がWでもwでも処理1を動かしたいのです。 言い換えると、 ・"W" でも "w" でもないときは、処理2 ・"W" か "w" だったら処理1 ・処理1か処理2を実行した後に処理3 ということですよね。 前の回答にも書いたように、NOTをつけない形式で if文を2つ書いて、処理1と2の位置を入れ替えれば 実現できると思います。 IF "%1"=="W" GOTO NEXTA IF "%1"=="w" GOTO NEXTA 処理2 GOTO NEXTB :NEXTA 処理1 :NEXTB 処理3 |
|
638) Re4:バッチ処理で悩んでます ありがとうございます 2002/09/11(水) 16:47 |
|
いろいろありがとうございました。 本当に初心者ですみませんでした。 なぜか、IF NOT~にこだわってしまいました。 いろんな方法を駆使すれば、いんですね。 本当にありがとうございました。 >言い換えると、 >・"W" でも "w" でもないときは、処理2 >・"W" か "w" だったら処理1 >・処理1か処理2を実行した後に処理3 >ということですよね。 >前の回答にも書いたように、NOTをつけない形式で >if文を2つ書いて、処理1と2の位置を入れ替えれば >実現できると思います。 > >IF "%1"=="W" GOTO NEXTA >IF "%1"=="w" GOTO NEXTA >処理2 >GOTO NEXTB >:NEXTA >処理1 >:NEXTB >処理3 > |