- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コマンドの実行結果を変数に格納いしたい。)
コマンドの実行結果を変数に格納する方法とは?
このQ&Aのポイント
- バッチファイルを使用して特定ディレクトリのファイル数を取得する方法を調査しています。
- 実行したいコマンドは「DIR /B | FIND /C /V "log"」ですが、パイプを使用するとうまくいきません。
- どのように書くと正常に変数に格納できるのか、お教えいただければ幸いです。
- みんなの回答 (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=%%
その他の回答 (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
質問者
お礼
koi1234様 アドバイス有難うございます。
お礼
notnot様 アドバイス有難うございます。 お教え頂いたとおり、”^|”でエスケープすれば、期待通りの動作しました。 大変勉強になりました、有難うございました。