質問: の続きなのですが ``` findstr /R "^226 *" ファイルパス/ファイル名2 >NUL if errorlevel 1 goto ファンクション名 ``` というコードがあり ``` ファイル名2に先頭が"226 *"で始まるデータを検索し、出力結果は表示しない もし 検索結果がなかったら ファンクション名に飛ぶ ``` という解釈をしているのですが これはfindstrでマッチングをかけた時、一致するデータがなければnullではなくエラーを返すということなのでしょうか? また ``` call ファイルパス/ファイル.bat uq ファイル名1 DBサーバーより ファイル名2 正常受信 ``` とういうコードがあり callで 指定したファイル.batのbatch fileの起動をしているのはわかるのですが その後の uq ファイル名1 DBサーバーより ファイル名2 正常受信がなにを意味しているかわかりません。 先ほど教えていただいた>>なども使われておらず 困っています。 追記 callについてですが 他の場所で call ファイルパス/ファイル名.bat UQ hpcd140 ファイル名.bat 開始 となっておりました。
回答: findstrの件ですが、全てのコマンドには「戻り値」というものがあります。 ※出力内容とは関係ありません。 通常「処理が正常終了なら0、それ以外なら1以上」と定義されています。 findstrの場合、文字列にマッチしたら戻り値0、マッチしなかったら戻り値1となります。 これをERRORLEVELで拾って判断しています。 callの件ですが、"uq"なるコマンド(?)は存在しないです。(聞いたことないです) 直前の「ファイルパス/ファイル.bat」の引数のようなので、そちらのバッチファイルで何か定義されていないでしょうか? そちらの処理が分かれば何かコメントできるかもしれません。