2016-09-07 8 views
1

私が検索し、検索し、これは私が見つけた最も近いコードでいる:いくつかのことを開始するにはバッチファイルが必要で、終了を遅らせ、別のバッチファイルを再起動する必要があります。

@echo off 
:loop 
C:\CryptoCurrency\nexus_cpuminer\start.bat 
timeout /t 30 >null 
taskkill /f /im nexus_cpuminer.exe >nul 
goto loop 

:START.BATに気づきます。起動する必要がある.exeファイルは、.batファイルに.exeファイルの情報が含まれているため、.batファイルから開始する必要があります。

第2に、.exeは何が起こっているかを示すCMDプロンプトウィンドウを起動します。 (これはあなたの普通の.exeではないので、これを覚えておいてください。私は、CMDプロンプトウィンドウをKILLEDにして閉じることをお勧めします)

30秒間設定しています。私はちょうど今テスト中です。 killコマンドが呼び出される前に4時間設定したいと思います。また、プロセス全体が始まる前に30秒の「遅延」を設定したいと思います。あなたはCALLSTART.BAT、それはあなたの '呼び出し' スクリプトに戻ります私は、x 64

+4

何が質問ですか?あなたのコードは、あなたがしたいと思っていることとまったく何をしていませんか? – Blorgbeard

+2

注:** 1。** .batファイルには、コマンドの同じ名前を付けるべきではありません。 'start'は内部のcmd.exeコマンドです。 ** 2。** 'start.bat'で終わる行は**コントロールをそのようなファイルに転送する**ことを意味し、決して戻りません!この.batファイルの終了後にこの.batファイルに戻したい場合は、 'call .. \ start.bat'コマンドを使用する必要があります。 **しかし、**私は 'start'が内部コマンドの名前(このようなファイルの名前を最初に変更する)である場合に何が起こるのか分かりません。 – Aacini

+1

** 3。**デッドロックがあります。コントロールはこの.batファイルに戻ります。これは、 'nexus_cpuminer.exe'が実行されているときに' taskkill'コマンドを実行する方法がないことを意味します。この問題を解決するには、内部の 'start'コマンドを使用して、2番目の.batファイルを並列に開始し、この.batファイルの残りの部分を続行する必要があります。 – Aacini

答えて

0

のWindows 7を実行しています。 WINDOWTITLE

1

は、あなたが他に2つ目のバッチファイルの名前を変更する必要があることをEQへ あなたはSTART.BATTITLEを与える場合、あなたはTASKKILLコマンドLTER /FIすることができます名前(すなわちstarter.bat)と並行して、それを実行するためにstart内部コマンドを経由して、それを実行します。

@echo off 
:loop 
start "" cmd /C "C:\CryptoCurrency\nexus_cpuminer\starter.bat" 
timeout /t 30 >null 
taskkill /f /im nexus_cpuminer.exe >nul 
goto loop 

starter.batファイルの最後の行はnexus_cpuminer.exeである必要があります。したがって、taskkillで殺されると、.batファイルはただちに終了します。

もう一つの簡単な方法は、直接start "" cmd /C nexus_cpuminer.exeコマンドを経由して、nexus_cpuminer.exeこのバッチファイルを実行することですので、このプロセスは、独自のcmd.exeのウィンドウで開くこと。

関連する問題