ファイル名にタイムスタンプ文字列を付与しようと思い、
以下のようなバッチファイルを書きました。
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でパディングするような書き方を教えてください。
できれば、コマンドプロンプトのコマンドだけでおこないたいです。
よろしくお願いします。
時刻が1時~9時の場合に、先頭に0を入れるには、以下のような方法があります。
set time2=%time: =0% echo %time2:~0,2%%time2:~3,2%%time2:~6,2%
set nowtime=%time:~0,2%%time:~3,2%%time:~6,2% set nowtime=%nowtime: =0%
ではどうでしょう
ありがとうございます。
解決しました!
ありがとうございます。
空白を0で置き換えればいいんですね。