質問: コマンド出力から変数を設定する際のwindowsバッチヘルプ 簡単な検索コマンドを実行して、出力をwindowsバッチファイルの変数にリダイレクトする必要があります。私はこれを試しました:set file=ls|find ".txt" echo %file% しかし、それは機能しません。このコマンドを実行すると、問題なく動作します。set file=test.txt echo %file% したがって、明らかに、コマンド出力が変数に設定されていません。誰か助けてもらえますか?ありがとう
回答: setコマンドには、標準入力から値を読み取るように指示する/pオプションがあります。残念ながら、それへのパイピングはサポートしていませんが、既存のファイルの最初の行からの値の読み取りはサポートしています。したがって、変数を最初の*.txtファイルの名前に設定するには、次のようにします。dir /b *.txt > filename.tmp set /p file=< filename.tmp del /q filename.tmp =の前後にスペースを入れないことが重要です。p. s.いいえfors、いいえtokens。