仕事でバッチファイルを見ていてわからなかったこと。
以下のようにCallコマンドでバッチファイルを呼び出している記述がありました。
Call hoge.bat /O:%hoge% /B:hoge /X:hoge
Call hoge2.bat /O:%hoge% /L:hoge
バッチファイルのあとに続く記述が呼び出すバッチファイルへ渡すパラメータだというのはわかるのですが
「/O:」だとか「/B:」はどういう意味なのでしょうか。
意味のないコメントのようなものですか?
ネットや本で調べてみたのですが、わかりませんでした。
callのパラメタでは無いと思います。
hoge.batやhoge2.batの中で、callで指定したパラメタを
%1や%3という形で使用しているはずです。
例えば、DIRコマンドには、/oのオプションがあります。
/bはわかりませんでしたが、まずは、hoge.batの中身を見てみましょう。
callのパラメタでは無いと思います。
hoge.batやhoge2.batの中で、callで指定したパラメタを
%1や%3という形で使用しているはずです。
例えば、DIRコマンドには、/oのオプションがあります。
/bはわかりませんでしたが、まずは、hoge.batの中身を見てみましょう。
CALLで呼んでるバッチファイルの中で
使用しているDOSコマンド(たとえばDIRなど)で使ってる(かもしれない)ということですね
オプションも含めてパラメタとして渡している、というイメージでしょうか
hoge.batの中を見てみます。
こういう記述って一般的なものなんでしょうか
まず間違いなく、その「hoge.bat」が内部で処理しているオプションでしょう。いくらネットで調べても無駄で、その「hoge.bat」の内容を調べるしかありません。
バッチファイルからCall文で別のバッチファイルを呼び出した場合、以後の引数(この場合"/O:..."とか)は、呼び出されたバッチファイル自身の引数となります。つまり、hoge.bat内で、引数(%1とか%2とか)に"/O:..."というような値が与えられた場合に、その引数に対応する処理をするようプログラムされているはずというわけです。その意味を知るには、hoge.batの処理を解析して、引数にどう反応しているかを確認する必要があります。
オプションも含めて({オプション+値} のような感じで)パラメタとして渡している、というイメージでしょうか
hoge.batの中を見てみます。
こういう記述って一般的なものなんでしょうか
上の方たちもおっしゃっている通り、call自体とは関係なく、hoge.batの引数でしょう。
hoge.batの中の%1に「/O:%hoge%」を、%2に「/B:hoge」を、%3に「/X:hoge」を渡しているということです。
ちなみに、"%"記号で囲まれているhogeは、環境変数です。どこかで、SETコマンドで定義されているはずです。
%%で囲まれてるのが環境変数というのはわかります。
単純に「/O:%hoge%」の形で引数として渡してるということですね。
CALLで呼んでるバッチファイルの中で
使用しているDOSコマンド(たとえばDIRなど)で使ってる(かもしれない)ということですね
オプションも含めてパラメタとして渡している、というイメージでしょうか
hoge.batの中を見てみます。
こういう記述って一般的なものなんでしょうか