2007-07-04
バッチファイルで今日の日付 (YYYYMMDD 形式) を取得
バッチファイル (コマンドライン) で今日の日付を取得したい場合、「DATE /T」コマンドやあらかじめ定義されている「%DATE%」が利用できます。「%DATE%」の結果からスラッシュをのぞき、 YYYYMMDD 形式にするには以下のようにします。 *1
rem 日付を取得 set YYYYMMDD=%DATE:/=% rem 今日の日付のフォルダを作成 mkdir %YYYYMMDD%
上記のコマンドを実行すると、今日の日付のフォルダ (20070704) が作成されます。 YYYYMMDD 変数には、今日の日付が格納されていますので、フォルダの作成以外にも利用することができます。
WSH (JScript, VBScript, etc...) や Perl を使えば以上の方法を容易に行うことができますが、バッチファイルで実行したい場合にやり方を忘れやすいため Tips として記述しておきます。 YYYYMMDD 形式の名前は、ファイルのバックアップを行う場合などに重宝します。
*1:注: システムの日付形式 (「echo %DATE%」の実行結果) は、「YYYY/MM/DD」というようにスラッシュが含まれている必要があります。
mirage
2008/10/20 10:05
私の会社ではバックアップをとる習慣がなく、重要なデータを扱っている部署で年に1回位データが壊れて慌てています。その度にバックアップを取るように言うのですが、忙しさもあって全く励行されません(忙しくたって昼食時にコピーすれば良いのですがね)。それなので起動時に強制的にバックアップを取るautoexxc.batを作ろうと思っていたのですが、10年近くバッチファイルを作っていないのでコマンドを殆ど忘れておりました。特に日付を取得する方法がわからず困っておいたところ、こちらに簡単な方法が記載されていたので使わせていただきます。
fyts
2008/10/20 11:36
役に立ってうれしいです。是非、 xcopy や robocopy なども活用してください。