- PR -

バッチファイルで現在時刻を取得したい。

1
投稿者投稿内容
ガンダムエイヂ
会議室デビュー日: 2002/04/18
投稿数: 17
投稿日時: 2002-10-29 11:32
お世話になります。
バッチファイル内で、実行時の現在時刻を取得し変数に代入したいのですが
うまくいきません、(TIME、DATE等の結果)
何か言い方法はありませんでしょうか?

よろしくお願いいたします。
こべっこ
常連さん
会議室デビュー日: 2002/06/22
投稿数: 20
投稿日時: 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%
Junbow
ぬし
会議室デビュー日: 2002/01/24
投稿数: 373
お住まい・勤務地: saga.jp
投稿日時: 2002-10-29 12:43
 おーーーすごい! 確かに、いけますね! 
 自分なんかは、あんまり、バッチファイルの中だけで変数とか
使って完結させる処理はやっていないので、かなーり感動です

ガンダムエイヂ
会議室デビュー日: 2002/04/18
投稿数: 17
投稿日時: 2002-10-29 14:30
ご返答ありがとうございます。
なんともはや、すごいロジックが必要なようで
私なんかには、とてもおよびもつかないのも当然です

大変助かりました。ありがとうございます。

感謝いたします。
ガンダムエイヂ
会議室デビュー日: 2002/04/18
投稿数: 17
投稿日時: 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%

合っているか不安ですけど。
Uchikoshi
@ITエディタ
会議室デビュー日: 2001/07/27
投稿数: 197
投稿日時: 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/13
投稿数: 22
投稿日時: 2002-10-29 15:53
 米田です。
>でも、Windows 2000だと、日本語の曜日名が入ったりしますので、ちょっと使いにくいかも。
 Windows 2000 であっても、さらに応用して
set T=%DATE:~2,10%
で、
T=2002/10/29
とできます。

 ついでに
SET /?
をみると、
%PATH:文字列1=文字列2%
"文字列2" に空の文字列を指定すると、展開された出力からすべての "文字列1" を削除することができます。

と使いでのある機能が存在します。
hitoko
ぬし
会議室デビュー日: 2002/05/12
投稿数: 505
投稿日時: 2002-10-30 15:19
なかなかすごいバッチですね。むかし、MS-DOS時代、
いろいろなバッチを作りましたが、変数をうまく使っていますね。
参考にさせていただきます。
1

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