回答:
start yourprogram.exe
ping 127.0.0.1 -n 10
taskkill /im yourprogram.exe
これをメモ帳に入れて保存すると、.batこれを行うバッチファイルが作成されます。
例として10秒を使用しましたが、必要に応じて調整してください。
また、Vista以上をping使用している場合は、行をスクラップして、そのtimeout場所ではるかに簡単なコマンドを使用できます。
timeout /t 10
start yourprogram.exe yourarguments。そうですねtaskkill、PIDで強制終了するオプションがありますがtasklist、複数のインスタンスがある場合は、最初に名前に基づいてそれを抽出する必要があります。これはcmdの制限にすぎません。
> NULして、ping出力を圧縮します。
私はそのようなA関数が存在があるようだけど、あなたはそれはあなたが、実行の制限を設定すると名付け設定することができ、そこから、タスクスケジューラを経由して、Windowsのタスクとして実行させる場合、私はそれのなんとかだと思うよう:それは実行する場合、タスクを停止より長い:、ここから詳細を取得できます:http : //technet.microsoft.com/en-us/library/cc722178.aspx
PowerShellを使用して
$app = Start-Process -PassThru -FilePath 'notepad' -ArgumentList 'test.txt'わずらわしい場合は、test.txtの引数でメモ帳を起動します(複数の引数をで区切ることができます),。
Start-Sleep -Seconds 10 10秒間寝ます。
開始されたアプリケーションを強制終了するか$app.Kill()、強制終了taskkill /PID $app.Idします。
PowerShellを呼び出すだけでプロセスを開始し、そのPIDを変数に格納するcmdソリューションが必要な場合
for /F %A in ('powershell -Command "(Start-Process -PassThru -FilePath 'notepad' -ArgumentList 'test.txt').Id"') do set PID=%A(.bat / .cmdから呼び出された場合は、の%%A代わりに使用する必要があります%A)。次に、@ BaliCのタイムアウトのメソッドを使用taskkill /PID %PID%して、起動したアプリケーションを強制終了できます。
解決 :
Windowsでは、3つのバッチファイルを作成する必要があります。
process.bat
@ECHO OFF
start /b cm.bat
start cmd.exe /c run.bat
EXIT
cm.bat
@ECHO OFF
a.exe < input.txt > out.txt
taskkill /im a.exe /f
taskkill /im cmd.exe /f
EXIT
run.bat
@ECHO off
timeout /t 5
taskkill /im a.exe /f
taskkill /im cmd.exe /f
EXIT
ここでprocess.batを実行します。cm.batとrun.batの両方を同時に/並列に開始します。cm.batのa.exeが終了したとき。cm.batはrun.batを強制終了するため、ubuntuタイムアウトとして機能します。