%DATE%
環境変数は現在の日付を保持します。で日付を解析して年を取得したくなるかもしれません%DATE:~6,4%
。
しかし、この方法はあまり堅実ではありません。"short date format"%DATE%
の Windows 設定を使用して現在の日付を返します。問題は、短い日付形式の設定が完全かつ際限なくカスタマイズ可能であることです。1 人のユーザーは、短い日付を次のように表示するようにシステムを構成できます。別のユーザー (同じシステム内であっても) を選択できます。BAT プログラマーにとっては完全な悪夢です。29/06/2012
Fri062912
考えられる解決策の 1 つは、代わりにWMICを使用することです。WMIC は、WMI への WMI コマンド ライン インターフェイスです。WMI Windows Management Instrumentation は、http://en.wikipedia.org/wiki/Windows_Management_Instrumentationです。
WMIC Path Win32_LocalTime Get Day,Hour,Minute,Month,Second,Year /Format:table
FOR で直接解析する便利な方法で日付を返します。
解析を完了してピースをまとめる
FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
SET /A MONTH=%%D
SET /A YEAR=%%F
)
ショートカットは、上記のコードを含む BAT ファイルを指すことができ、適切なフォルダーでエクスプローラーを開きます。
start "" "D:\FOLDER\%YEAR%\%MONTH%"