1

複数の行に分割されたスタック トレースを含むログ ファイルがあります。このファイルをバッチ ファイルに読み込み、すべての改行を削除する必要があります。

最初のステップとして、私はこれを試しました:

if exist "%log_dir%\Log.log" (
    for /F "tokens=*" %%a in ("%log_dir%\Log.log") do @echo %%a
)

私の期待は、これがログ ファイルの各行をエコーアウトすることでした。次に、これらの行を連結して、その値を変数に設定することを計画していました。

ただし、このコードは期待どおりの動作をしません。delims と tokens のオプションの値を変更しようとしましたが、取得できる唯一の出力はログ ファイルへの絶対パスであり、このファイルの内容からは何も得られません。

改行が削除されたファイル内のテキスト行と等しくなるように変数を設定するにはどうすればよいですか?

4

2 に答える 2

1

usebackqFOR/F ループでファイル名に引用符を使用する場合は、オプションも追加する必要があります。そうしないと、ファイルの内容ではなく文字列が取得されます。

for /F "usebackq delims=" %%a in ("%log_dir%\Log.log") do @echo %%a
于 2012-09-18T09:36:02.170 に答える