【Windows Server 2008】Server Core に時計はあるか? ~ その1

ありません...私が調べた限りですが....少なくとも画面に常駐させておけるようなものは見つかりませんでした。

以下に Server Core に含まれている 実行可能ファイルの 一覧を掲載しておきますので、ご覧になってみてください。各exeやスクリプトの格納場所は、役割や機能のインストールによって変わることがあるので、パスはあまり気にしないでください。

不便ですね。これは不便です。いつの間にか、腕時計よりもデスクトップの時計を見る習慣がついてしまった私にとっては非常に不便です。

ということで、作りましょう

※もちろん、フリーの時計ユーティリティを使用してもかまいませんし、それが一番簡単な方法です...が、それはそれとして....ということで....

作るといっても、Visual Studio を使うとか、そんな方法は使いません(VS の否定ではありません。念のため。)。

IT Pro らしく、"ありもの" を有効活用します。

※以下の作業はすべて Server Core 上で行います。

【時計の実装例 その1】 echo を使用する

非現実的な方式ですので、本番環境に実装などしないでください(いらっしゃらないとは思いますが(笑))。

※ただし、応用していただくと、定期的にタスクリストを表示するなんてことが簡単に行えます。unix 屋さんならよくやっていますよね。

コマンドプロンプト上で日時を見るには、環境変数 %date% および %time% を使用します。環境変数を参照するには Echo コマンドが使えますから、以下のように使用します。

C:\>echo %date% %time% 2008/04/02 16:15:19.18

 このコマンドを繰り返し実行すれば、現在の日時がわかりそうであることは簡単に予測できます。ということで、次の手順で バッチファイル(.bat)を作成してみてください。

Server Core にもメモ帳が用意されていますのでありますので、以下のコマンドでメモ帳を開きます。

C:\>notepad

メモ帳を使用して以下のようなバッチファイルを作成します。

:start@echo offclsecho %date% %time%timeout /t 1 /nobreak >"%temp%\tmp.log"goto :start

簡単なバッチ処理ですので、なにをしているかは一目瞭然かと思います。ミソとなるのは、timeout コマンドでしょうか。/t 1 によって1秒間のスリープを取っています。

では、上記ファイルを 拡張子 bat で保存しましょう。ここでは、showDateTime.bat とします。

コマンドプロンプトから、showDataTime.bat を実行してみてください。以下のように表示されるはずです。

時刻は1秒ごとに書き換えられます。終了する場合には、通常の bat ファイルと同様、Ctrl + c です。

この方法は、手軽と言えば手軽ですが、ちょっとアレですね。

なので、次回は少し手間はかかりますが、もちょっと美しい方法をご紹介します。