次の操作を実行したい。
- 多くの単語で構成される入力ファイルから一度に1単語を読み取ります。
- この単語を引数として別のコマンドラインベースのアプリケーションに渡します。
- そのアプリケーションを一定の時間、たとえば10秒間実行します。
- アプリケーションが10秒経過しても実行中の場合は、アプリケーションの実行を中止して戻り、入力ファイルから次の単語を選択して、手順1〜3を繰り返します。
これが私が書いたものですが、私が望んでいることを正確に達成することはできません。
@echo off
for /f %%i in ('type input.txt') do call:Routine %%i
:Routine
set app="myApp.exe"
set limit=60
%app% %1
goto Delay
:Delay
ping localhost -n %limit% > nul
上記のスクリプトは、myAppの実行が完了した後の遅延を導入します。ただし、myApp.exeを10秒以内で実行したい場合は、実行する場合は、taskkillを使用してアプリケーションを中止し、入力ファイルの次の単語に移動します。
私はオンラインで解決策を探し、これに出くわしました:
http://www.tech-archive.net/Archive/WinXP/microsoft.public.windowsxp.general/2006-04/msg03609.html
クエリに正確に答えることはできませんが、コードに同様のことをさせたいと思います。
ありがとう。