質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

2回答

3774閲覧

バッチファイルのパイプでのエラー処理について

okaryu

総合スコア27

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

0クリップ

投稿2018/08/31 01:08

bat ファイルで以下のように書いた場合、最後の行の処理が行われないのはなぜでしょうか?

bat

1echo start 2aaa | findstr bbb 3echo end

2行目にて「'aaa' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」というエラーが出ることは理解できるのですが、最後の echo end が実行されない理由が理解できませんでした。

ご存知の方がおられましたら、御教授ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

CMD.EXEのバグのような気がします。
パイプを構成するコマンドのどれか一つでも、コマンドが見つからないエラーの時は、パイプの残りのコマンドも実行されないようですが、この実行されなくする処理にバグがあるのではないかと。

回避策:

CMD

1echo start 2call aaa | findstr bbb 3 4(aaa) | findstr bbb 5echo end

投稿2018/08/31 05:02

otn

総合スコア84489

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんな感じでどうでしょう?

@echo off echo start (aaa 2>&1) | findstr bbb echo end

投稿2018/08/31 02:25

yambejp

総合スコア114742

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問