実現したいこと
・windowsのOSはwindows10、またはwindows11を利用する。
・バッチファイルでtracertを利用して結果をファイルに出力したい。
・tracertで「要求がタイムアウトしました」が表示されると以降のtracert処理から抜けたい。
・tracertの出力結果は1行ずつファイルに出力したい。
・for文の中でgoto分を利用するとエラーになるためgoto文を使わないやり方にしたい。
・callでの呼び出しは使わないやり方にしたい。
・exitではなくbreakでfor文を抜けるようにしたい。
発生している問題・分からないこと
・「要求がタイムアウトしました」になってもtracert処理が継続する。
・出力ファイルに1行ずつ追加されず最大ホップまで処理された以降でないと書き込みがされない。
該当のソースコード
@echo off set "output_file=tracert_output.txt" rem tracert結果ファイルの初期化 echo. > %output_file% setlocal enabledelayedexpansion for /f "tokens=*" %%A in ('tracert -d IPアドレス') do ( echo %%A >> %output_file% echo %%A | find "要求がタイムアウトしました" >nul if !errorlevel! equ 0 ( goto AAA ) ) endlocal :AAA echo 処理終了 exit
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
copilotで下記を問い合わせたが解決しなかった。
【前提】
・windowsのOSはwindows10、またはwindows11を利用する。
・バッチファイルで下記のやりたいことを実装したい。
・PowerShellは使わない。(環境上利用禁止のため)
【やりたいこと】
・callでの呼び出しは使わないやり方にしてほしい
・exitではなく別の方法でfor文を抜けるようにしてほしい
・tracertで「要求がタイムアウトしました」が表示されると以降のtracert処理から抜けたい。
・tracertの出力結果は1行ずつファイルに出力してほしい。
補足
特になし

あなたの回答
tips
プレビュー