0

Minecraft サーバーを起動するバッチ ファイルを実行しています。次のスクリプトを次に示します。

@echo off
"%ProgramFiles%\Java\jre7\bin\java.exe" -Xms1024M -Xmx1024M -jar craftbukkit-1.4.7-R1.0.jar
pause

おそらく、バッチファイルが指定された時刻にプロセスを自動的に停止する可能性がありますが、何らかのカウントダウンを介して停止することはできません。

さらに、コマンドプロンプトに次の行を書き込めることを期待していました。

  • サーバーが 15 分後に終了すると言う (午前 1 時 45 分)
  • サーバーが 10 分後に終了すると言う (午前 1 時 50 分)
  • サーバーは 5 分後に終了します (午前 1 時 55 分) と言う
  • サーバーが閉じていると言って、さようなら。(午前2:00)
  • 停車(午前2時)

これが不可能な場合は、推奨事項をいただければ幸いです。

4

1 に答える 1

0

これはあなたが探しているものですか?

@echo off
setlocal enabledelayedexpansion
cmd /c "%ProgramFiles%\Java\jre7\bin\java.exe" -Xms1024M -Xmx1024M -jar craftbukkit-1.4.7-R1.0.jar

:waitloop
for /f "tokens=1-3 delims=:." %%I in ("%time%") do (
    if "%%I"==" 1" (
        if "%%J"=="45" (
            echo ! Server is closing in 15 minutes.
        ) else if "%%J"=="50" (
            echo ! Server is closing in 10 minutes.
        ) else if "%%J"=="55" (
            echo ! Server is closing in 5 minutes.
        )
    ) else if "%%I"==" 2" (
        echo ! Toodloo.
        wmic process where name="java.exe" delete >NUL 2>NUL
        goto :EOF
    )
    set /a secs=60 - %%K + 1
    ping 127.0.0.1 -n !secs! >NUL
)
goto waitloop
于 2013-02-04T18:38:05.440 に答える