時刻同期コマンド 2回実行 個人使用
パソコンの時刻は、インターネットに接続されていれば自動で同期されるようになっています。
ところがエラーや電池切れなどで時刻がずれてしまうことがまれにあります。
時刻同期サーバーが各地にありそこから同期することが可能です。
最初はWindows規定のサーバーになっていますが、変更することもできます。
設定画面を開いて手動で時刻同期することができますが、コマンドファイルがあれば簡単に時刻を同期することができます。ファイルを右クリックして管理者として実行するだけです。ダブルクリックでも大丈夫ですがユーザー制御の確認画面が出ます。
個人的に使用しているコマンドをご紹介します。↓
@echo off rem ■■W32Timeサービス開始判定 時刻同期2回Ver3.4 bat■■ rem ----- 管理者権限で実行 ----- echo. echo コマンドプロンプトを管理者として実行します echo. for /f "tokens=3 delims=\ " %%A in ('whoami /groups^|find "Mandatory"') do set LEVEL=%%A if not "%LEVEL%"=="High" ( powershell -NoProfile -ExecutionPolicy Unrestricted -Command "Start-Process \"%~f0\" -Verb runas" exit ) rem --Windows Timeサービス W32Time状態判定-- sc query W32Time | findstr STATE | findstr RUNNING > NUL if %ERRORLEVEL% neq 0 ( rem --Windows Timeサービス W32Timeを開始-- echo. echo. echo =============================================== echo Windows Timeサービス W32Timeを開始します。 echo =============================================== echo. net start W32Time ) call :Wt echo. echo 時刻同期2回目 timeout /T 5 call :Wt timeout /T 3 exit :Wt rem --時刻同期-- echo. echo. echo ===================== echo 時刻同期します。 echo ===================== echo. w32tm /resync rem w32tm /resync /nowait echo. echo. echo ============================ echo 最終時刻同期時間を確認 echo ============================ echo. w32tm /query /status exit /b
※使用しているコマンドそのままなので不要なコメント[rem]行が入っています。
時刻同期を強制的に2回実行します。
1回実行でもいいのですが、なぜか念のための2回になっています。
(エラーになることが多いため)
1回のみ実行にしたい場合は、29行~32行は不要です。
Windows Timeサービスが開始されているかの確認を行っています。
開始していない場合はサービスを実行します。
管理者実行が必須ですが、管理者確認をしているので大丈夫かと思います。
上記を参考にしてください。自分用に変更することをおススメします。
通常の時刻同期1回のみコマンド ↓