- - PR -
バッチファイルで現在時刻を取得したい。
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-10-29 11:32
お世話になります。
バッチファイル内で、実行時の現在時刻を取得し変数に代入したいのですが うまくいきません、(TIME、DATE等の結果) 何か言い方法はありませんでしょうか? よろしくお願いいたします。 |
|
投稿日時: 2002-10-29 12:15
私がずっと使っているロジックです。バッチファイルの中でのみ動きます。
echo.| date > %temp%\$$$.tmp for /f "eol=新 tokens=2-4 delims=/ " %%i in (%temp%\$$$.tmp) do set file=%%i%%j%%k echo %file% |
|
投稿日時: 2002-10-29 12:43
おーーーすごい! 確かに、いけますね!
自分なんかは、あんまり、バッチファイルの中だけで変数とか 使って完結させる処理はやっていないので、かなーり感動です |
|
投稿日時: 2002-10-29 14:30
ご返答ありがとうございます。
なんともはや、すごいロジックが必要なようで 私なんかには、とてもおよびもつかないのも当然です 大変助かりました。ありがとうございます。 感謝いたします。 |
|
投稿日時: 2002-10-29 15:02
投稿者です。
時間を取得するのも作成してみました。 (デリミタのところ使用法がわからなかったので合っているか不明ですが(笑)) 答えは HHMMSSSS になります。 echo.| time > %temp%\$$$.tmp for /f "eol=新 tokens=2-5 delims=:. " %%i in (%temp%\$$$.tmp) do set file=%%i%%j%%k%%l echo %file% 合っているか不安ですけど。 |
|
投稿日時: 2002-10-29 15:35
Windows 2000/XPでは、echo の引数に %date% とか %time% が利用できます。
これはWindows XPの例です。 C:\>echo ただ今、「%date%」「%time%」です。 ただ今、「2002/10/29」「15:32:57.29」です。 でも、Windows 2000だと、日本語の曜日名が入ったりしますので、ちょっと使いにくいかも。 C:\>echo ただ今、「%date%」「%time%」です。 ただ今、「火 2002/10/29」「15:33:56.38」です。 |
|
投稿日時: 2002-10-29 15:53
米田です。
>でも、Windows 2000だと、日本語の曜日名が入ったりしますので、ちょっと使いにくいかも。 Windows 2000 であっても、さらに応用して set T=%DATE:~2,10% で、 T=2002/10/29 とできます。 ついでに SET /? をみると、 %PATH:文字列1=文字列2% "文字列2" に空の文字列を指定すると、展開された出力からすべての "文字列1" を削除することができます。 と使いでのある機能が存在します。 |
|
投稿日時: 2002-10-30 15:19
なかなかすごいバッチですね。むかし、MS-DOS時代、
いろいろなバッチを作りましたが、変数をうまく使っていますね。 参考にさせていただきます。 |
1
