人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Windows(2000SP4, Professional)のコマンドプロンプトについて質問です。

ファイル名にタイムスタンプ文字列を付与しようと思い、
以下のようなバッチファイルを書きました。

rem タイムスタンプ文字列を作成
set nowdate=%date:~2,4%%date:~7,2%%date:~-2%
set nowtime=%time:~0,2%%time:~3,2%%time:~6,2%
set timestamp=%nowdate%%nowtime%

上記の記述でだいたいうまくいくのですが、
時間がひと桁(1~9時)のときに環境変数timeに
ひと桁の文字列しか格納されないため上手く動きません。

>echo %time%
9:28:01.49
>set nowdate=%date:~2,4%%date:~7,2%%date:~-2%
>set nowtime=%time:~0,2%%time:~3,2%%time:~6,2%
>set timestamp=%nowdate%%nowtime%
>echo %timestamp%
20080131 92801

ここからが質問です。

ひと桁の時間のときには20080131092801のように
0でパディングするような書き方を教えてください。
できれば、コマンドプロンプトのコマンドだけでおこないたいです。

よろしくお願いします。

●質問者: kenk
●カテゴリ:コンピュータ
✍キーワード:28 ECHO SET Time Windows
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● chuken_kenkou
●35ポイント

時刻が1時?9時の場合に、先頭に0を入れるには、以下のような方法があります。

set time2=%time: =0%
echo %time2:~0,2%%time2:~3,2%%time2:~6,2%

バッチ・ファイル中で日付をファイル名に使用する - @IT

◎質問者からの返答

ありがとうございます。

空白を0で置き換えればいいんですね。


2 ● GoldenDawn
●35ポイント
set nowtime=%time:~0,2%%time:~3,2%%time:~6,2%
set nowtime=%nowtime: =0%

ではどうでしょう

◎質問者からの返答

ありがとうございます。

解決しました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ