バッチスクリプト - 日付と時間

こんにちは、未来のプログラマーたち!今日は、バッチスクリプティングにおける日付と時間の魅力的な世界に飛び込みます。あなたの近所の親切なコンピュータ教師として、この旅を案内することを楽しみにしています。コードを書いたことがないとしても心配しないでください - 基礎から始めて、段階的に進めていきます。では、仮想のメモ pad を手に取り、始めましょう!

Batch Script - DATE & TIME

DATE コマンド

バッチスクリプティングにおける DATE コマンドは、あなたのデジタルカレンダーのようなものです。コンピュータ上の現在の日付を表示したり変更したりすることができます。使い方を見てみましょう!

現在の日付を表示する

現在の日付を表示するには、以下のようにタイプします:

DATE

このコマンドを実行すると、以下のようなものが表示されます:

現在の日付は: Mon 04/17/2023
新しい日付を入力してください: (mm-dd-yy)

面白い話ですが、私の生徒の一人がこのコマンドを使って自分の誕生日かどうかを確認したことがあります。実際にその日だったとき、彼はとても興奮していました!

日付を変更する

新しい日付を入力するときに変更することができます。例えば:

DATE 04-18-2023

これで日付が2023年4月18日に変更されます。しかし、システムの日付を変更すると、さまざまなアプリケーションやプロセスに影響を与える可能性があるので注意してください。

スクリプト内での DATE の使用

では、スクリプト内で DATE コマンドを使う方法を見てみましょう。以下は簡単な例です:

@echo off
echo 本日の日付は:
date /t
pause

このスクリプトでは:

  1. @echo off はコマンドが表示されないようにします。
  2. echo 本日の日付は: はメッセージを表示します。
  3. date /t は新しい日付を入力するプロンプトなしで現在の日付を表示します。
  4. pause はウィンドウを開いたままにして、結果を確認できるようにします。

TIME コマンド

DATE と同様に、TIME コマンドもコンピュータ上の現在の時間を表示したり変更したりすることができます。デジタル時計のようなものです!

現在の時間を表示する

現在の時間を表示するには、以下のようにタイプします:

TIME

以下のようなものが表示されます:

現在の時間は: 14:30:45.52
新しい時間を入力してください:

時間を変更する

新しい時間を入力するときに変更することができます:

TIME 15:45

これで時間が午後3時45分に変更されます。

スクリプト内での TIME の使用

現在の日付と時間を表示するスクリプトを作成してみましょう:

@echo off
echo 現在の日付と時間:
date /t
time /t
pause

このスクリプトは現在の日付と時間を表示します。

年-月-日 フォーマットの日付

時折、年-月-日 フォーマットで日付を表示する必要があります。バッチスクリプティングにはこのフォーマットを表示するための内蔵コマンドはありませんが、環境変数を使った自作の解決策を作成できます。

以下は YYYY-MM-DD フォーマットで日付を表示するスクリプトです:

@echo off
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /value') do set datetime=%%I
set year=%datetime:~0,4%
set month=%datetime:~4,2%
set day=%datetime:~6,2%
echo 現在の日付: %year%-%month%-%day%
pause

これを分解すると:

  1. for ループは wmic コマンドを実行してローカルの日付と時間を取得します。
  2. 日付情報を yearmonthday という変数に分割します。
  3. 最後に、指定されたフォーマットで日付を表示します。

このスクリプトは少し複雑に見えますが、非常に強力です。ある生徒がこれを使って宿題ファイルに自動で日付を振り分けたことがありました!

有用な日付と時間メソッド

以下はバッチスクリプティングで使えるいくつかの有用な日付と時間メソッドの表です:

メソッド 説明
DATE /T 現在の日付を表示 DATE /T
TIME /T 現在の時間を表示 TIME /T
%DATE% 現在の日付の環境変数 echo %DATE%
%TIME% 現在の時間の環境変数 echo %TIME%
wmic os get localdatetime 日付と時間を YYYYMMDDHHMMSS フォーマットで取得 wmic os get localdatetime

練習は完璧を生みます!これらのコマンドを使ったさまざまなスクリプトを書いてみてください。デジタル時計を作ったり、次の誕生日まであと何日かを計算するスクリプトを作ったりしてみてください。

結論として、バッチスクリプティングにおける日付と時間の操作は、さまざまな可能性を開きます。単純な日付表示から複雑な時間計算まで、これらのツールは非常に役立ちます。実験を続け、間違えても怖がらずに - それが学びの過程です!

未来のプログラマーたち、ハッピースクリプティング!

Credits: Image by storyset