質問: ### 前提・実現したいこと Windows7のコマンドプロンプト上で実行 イメージ 「echo "abcdefg" | findstr "efg$"」一致させる 「echo "abcdefga" | findstr "efg$"」不一致にさせる というようなことを実現したいが、上記両方とも不一致になる。 ### 試したこと テキストファイルに以下を記載したもの 「abcdefg(EOF)」text1.txt 「abcdefg(改行コード)(EOF)」text2.txt の状態で 「findstr "efg$" text1.txt」不一致 「findstr "efg$" text2.txt」一致 となるのですが、改行なしの状態で行末一致させるには どのようにすればよいのでしょうか。 よろしくお願いします。
回答: こんにちは。 Windows 10ではできました。Windows 7でも同様かもしれません。 問題はechoの使い方のようです。 > > >echo abcdefg| findstr "efg$" > > abcdefg > > >echo abcdefga| findstr "efg$" > > > つまり、echo の後ろの文字列は、非スペース以降、'|'までスペースも含めて出力されるようです。 下記で見てみるとよくわかります。 > > >echo "abcdefg" > text.txt > > >