• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コマンドの実行結果を変数に格納いしたい。)

コマンドの実行結果を変数に格納する方法とは?

このQ&Aのポイント
  • バッチファイルを使用して特定ディレクトリのファイル数を取得する方法を調査しています。
  • 実行したいコマンドは「DIR /B | FIND /C /V "log"」ですが、パイプを使用するとうまくいきません。
  • どのように書くと正常に変数に格納できるのか、お教えいただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

" "の外で、| を書くとパイプの意味になりますので、 for /f "usebackq tokens=*" %%i in (`DIR /B というコマンドと、 FIND /C /V "log"`) do @set RESULT=%%i というコマンドをつなぐパイプだと認識されます。 で、上記コマンドはどちらも文法エラーです。 ^ でエスケープして下さい。 for /f "usebackq tokens=*" %%i in (`DIR /B ^| FIND /C /V "log"`) do @set RESULT=%%

sujino
質問者

お礼

notnot様 アドバイス有難うございます。 お教え頂いたとおり、”^|”でエスケープすれば、期待通りの動作しました。 大変勉強になりました、有難うございました。

その他の回答 (1)

  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.2

>for /f "usebackq tokens=*" %%i in (`DIR /B | FIND /C /V "log"`) do @set RESULT=%%i for /f "usebackq tokens=*" %%i in (`”DIR /B | FIND /C /V "log"”`) do @set RESULT=%%i

sujino
質問者

お礼

koi1234様 アドバイス有難うございます。

関連するQ&A