1

コマンドからの出力を findstr にパイプして、特定の行を抽出しています。これが私のコードです:

example_command.exe | findstr /C:"string_D  " /C:"string_B  " /C:"string_C  " /C:"string_A  "

はい、文字列テキストの後に 2 つのスペースがあります。出力は次のようになると予想していました。

string_D
string_B
string_C
string_A

しかし、私は得ています:

string_A
string_B
string_C
string_D

findstr は、出力をアルファベット順に並べ替えているようです。それを無効にすることはできますか?入力したのと同じ順序で出力したいと思います。

これを標準の Windows 7 コマンドで実行して、バッチ ファイルで簡単に配布できるようにしたいと考えています。

文字列を分離して example_command.exe を 4 回実行できますが、4 倍の時間がかかります。

これは findstr の別の文書化されていない機能ですか?

4

1 に答える 1

1

example_command.exe を複数回実行していますが、これにより、探している出力が得られるはずです。

example_command.exe | findstr /C:"string_D  " && example_command.exe | findstr /C:"string_B  " && example_command.exe | findstr /C:"string_C  " && example_command.exe | findstr /C:"string_A  "

ただし、あなたが言ったように、4倍の時間がかかります。

于 2013-10-11T04:05:25.693 に答える