0

こんにちは、次のコマンドの出力をいくつかの変数に収集したいのですが、どうすればそれを行うことができますか?

type somefile.txt | find /v "irritating string"

実際には、上記のコマンドの出力を他のフォルダー内の他のファイルに書きたいと思っています。

4

1 に答える 1

1

コマンドによって複数行の出力が生成される場合があります。Windows バッチには、複数行のコマンド出力を 1 つの変数にキャプチャする便利な方法がありません。FOR /F コマンドを使用して、各行を個別に処理することができます。その時点で、各行を 1 つの変数 (最大 8191 バイトの値の長さの制限まで) に連結したり、変数の配列を作成したりできます。

FOR コマンドの詳細については、コマンド プロンプトからorFOR /?を入力してください。HELP FOR

しかし、実際には出力をファイルにキャプチャしたいので、解決策は非常に簡単です。

新しいファイルを作成したい場合

type somefile.txt | find /v "irritating string" >"c:\somePath\newFile.txt"

出力を既存のファイルに追加する場合

type somefile.txt | find /v "irritating string" >>"c:\somePath\existingFile.txt"

ファイルがまだ存在しない場合は、作成されます。

于 2013-01-19T17:13:31.147 に答える