- PR -

バッチで日付を使う方法・外伝

1
投稿者投稿内容
井上孝司
ぬし
会議室デビュー日: 2001/09/08
投稿数: 668
お住まい・勤務地: 東京都
投稿日時: 2004-05-04 22:41
井上です。

拙宅では、タスク登録した FTP にスクリプトを組み合わせて、Web サーバのログを毎日自動ダウンロードさせているのですが、その際にバッチファイル中で、日付と同名のフォルダを作らせるようにしています (ファイル名が常に同じなので、こうしないと上書きしてしまう)。
とりあえず単純に日付だけ使えればよいという場合、日付の区切り文字列を「/」から「-」に変更する方法もありますね。ただし区切り文字の変更は、Excel など、いろいろと波及するアプリケーションがあるので難しい部分もありますが。
_________________
www.kojii.net
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2004-05-05 00:39
私の場合、バッチファイルで日付文字列を取得したくなったときは、
バッチファイルをあきらめてWSHを使うことにしてます。 

回避策以外の何者でもないですが、バッチファイルでできてWSHで
できないことってあんまりないので、大抵間に合ってますね。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-05-05 02:22
具体的にどのようにするのでしょう?
後学のためにご教示いただきたく...

以前似たようなことをやりましたが,そのときには filename.yymmdd とやりました.UNIX 的にはこの事例が多いと見受けられたので,「んじゃ Windows もこれで」としたことがあります.手元に資料がないのですが,たしか data の出力を利用したんじゃなかったかと.
よねだ
常連さん
会議室デビュー日: 2002/10/13
投稿数: 22
投稿日時: 2004-05-05 04:22
 米田です。

 この手って、タスク等に結構使いますね。

> 対象OS
>Windows 2000
では、
echo %date%
水 2004/05/05
と曜日が妙なところに入ってくるので挙動が変わってしまいます。
(英語版 Windows だとさらに微妙に調整がいりそうですし)

>%DATE% - DATE コマンドと同じフォーマットで現在の日付に展開します。
とあるのに、少なくとも手元の Windows 2000 環境では
date /t
2004/05/05 水
と曜日の位置が入れ替わっているのも悩ましかったりします。
Uchikoshi
@ITエディタ
会議室デビュー日: 2001/07/27
投稿数: 197
投稿日時: 2004-05-05 10:33
引用:

よねださんの書き込み (2004-05-05 04:22) より:
 米田です。
 この手って、タスク等に結構使いますね。
> 対象OS
>Windows 2000
では、
echo %date%
水 2004/05/05
と曜日が妙なところに入ってくるので挙動が変わってしまいます。
(英語版 Windows だとさらに微妙に調整がいりそうですし)
位置が入れ替わっているのも悩ましかったりします。



 よねだ様、ご指摘ありがとうございました。Windows 2000での動作確認が
不十分でしたので、当該記事を修正、変更させていただきました。

変更点は、日付の取り出しが単に「%date%」となっていたところを
「%date:~-10%」に変え、関連する本文中の記述を訂正させていただきました。

--
(苦しい言い訳)
実はこのバッチファイルはWindows 2000 Server上で3年来使っていたものでした。
バッチ中では「SET DD=%date:~-10%」とかしていたのに、XPやWindows Server 2003
上で使用してみると単に「SET DD=%date%」でも動いたし、なぜこうやって
いたかも思い出せなかったので、簡略化して記事にしてしまいました。
でもおかげさまで今日、思い出しました。Windows 2000対策でした。
ありがとうございました。
(言い訳終わり)
--
豪雪地帯
常連さん
会議室デビュー日: 2004/06/08
投稿数: 34
投稿日時: 2005-05-16 20:09
記事に関連して、新しいスレッドを作りました。
(と言うより、このスレッドの存在を知りませんでした)

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21305&forum=6
です。

アドバイスをお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)