質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.32%
バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

0回答

188閲覧

tracertでのタイムアウト以降の処理迂回方法を知りたい

y_daruma

総合スコア1

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

2クリップ

投稿2025/02/02 13:03

編集2025/02/06 15:20

実現したいこと

・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行ずつファイルに出力してほしい。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.32%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問