バッチファイルコマンド、DOSコマンドについて。

仕事でバッチファイルを見ていてわからなかったこと。
以下のようにCallコマンドでバッチファイルを呼び出している記述がありました。
Call hoge.bat /O:%hoge% /B:hoge /X:hoge
Call hoge2.bat /O:%hoge% /L:hoge
バッチファイルのあとに続く記述が呼び出すバッチファイルへ渡すパラメータだというのはわかるのですが
「/O:」だとか「/B:」はどういう意味なのでしょうか。
意味のないコメントのようなものですか?
ネットや本で調べてみたのですが、わかりませんでした。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2008/08/21 00:57:50
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:kimizu No.1

回答回数726ベストアンサー獲得回数21

ポイント27pt

callのパラメタでは無いと思います。

hoge.batやhoge2.batの中で、callで指定したパラメタを

%1や%3という形で使用しているはずです。

例えば、DIRコマンドには、/oのオプションがあります。

/bはわかりませんでしたが、まずは、hoge.batの中身を見てみましょう。

http://hisa-net.ddo.jp/php/dos/dos_command.php

id:dedara

CALLで呼んでるバッチファイルの中で

使用しているDOSコマンド(たとえばDIRなど)で使ってる(かもしれない)ということですね

オプションも含めてパラメタとして渡している、というイメージでしょうか

hoge.batの中を見てみます。

こういう記述って一般的なものなんでしょうか

2008/08/20 02:15:14

その他の回答2件)

id:kimizu No.1

回答回数726ベストアンサー獲得回数21ここでベストアンサー

ポイント27pt

callのパラメタでは無いと思います。

hoge.batやhoge2.batの中で、callで指定したパラメタを

%1や%3という形で使用しているはずです。

例えば、DIRコマンドには、/oのオプションがあります。

/bはわかりませんでしたが、まずは、hoge.batの中身を見てみましょう。

http://hisa-net.ddo.jp/php/dos/dos_command.php

id:dedara

CALLで呼んでるバッチファイルの中で

使用しているDOSコマンド(たとえばDIRなど)で使ってる(かもしれない)ということですね

オプションも含めてパラメタとして渡している、というイメージでしょうか

hoge.batの中を見てみます。

こういう記述って一般的なものなんでしょうか

2008/08/20 02:15:14
id:hissssa No.2

回答回数428ベストアンサー獲得回数129

ポイント27pt

まず間違いなく、その「hoge.bat」が内部で処理しているオプションでしょう。いくらネットで調べても無駄で、その「hoge.bat」の内容を調べるしかありません。

バッチファイルからCall文で別のバッチファイルを呼び出した場合、以後の引数(この場合"/O:..."とか)は、呼び出されたバッチファイル自身の引数となります。つまり、hoge.bat内で、引数(%1とか%2とか)に"/O:..."というような値が与えられた場合に、その引数に対応する処理をするようプログラムされているはずというわけです。その意味を知るには、hoge.batの処理を解析して、引数にどう反応しているかを確認する必要があります。

id:dedara

オプションも含めて({オプション+値} のような感じで)パラメタとして渡している、というイメージでしょうか

hoge.batの中を見てみます。

こういう記述って一般的なものなんでしょうか

2008/08/20 02:17:08
id:rsc96074 No.3

回答回数4504ベストアンサー獲得回数437

ポイント26pt

 上の方たちもおっしゃっている通り、call自体とは関係なく、hoge.batの引数でしょう。

hoge.batの中の%1に「/O:%hoge%」を、%2に「/B:hoge」を、%3に「/X:hoge」を渡しているということです。

 ちなみに、"%"記号で囲まれているhogeは、環境変数です。どこかで、SETコマンドで定義されているはずです。

id:dedara

%%で囲まれてるのが環境変数というのはわかります。

単純に「/O:%hoge%」の形で引数として渡してるということですね。

2008/08/20 07:39:30
  • id:dev_zer0
    > こういう記述って一般的なものなんでしょうか
    オプションと値を区切る記号がコロンは一般的かという質問でしょうか?
    一応、dir, delはオプションの後にコロンを入れてもよい(入れなくとも良い)ですし、
    cmdの/e, /f, /vオプションの後のコロンは必須です

    下記の記号はバッチファイルの中では特別な意味を持つのでエスケープが必要です
    &()[]{}^=;!'+,`~
    結論としてコロンが一番無難な区切り文字のような気がします。
  • id:dedara
    このような構文があるのかと勘違いしていました。呼び出しているファイルを確認し何をしているのか理解できました。単に区切り文字にコロンを使用しているということなんですね
  • id:rsc96074
     そうです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません