Windows版HULFTのジョブ起動時の「%date%」と「%time%」の挙動に関して

実現したいこと

ジョブ起動を行った場合もコマンドプロンプトと同じ様に、日付と時刻を取得したいです。
つまり
・コマンドプロンプト上で実行した場合
%date%→2023/04/03
%time%→15:14:39.67

・HULFTのジョブ起動した場合
%date%→2023/04/03
%time%→15:14:39.67
を実現したいです。

前提

Windows版のHULFTで構築および移行作業を行っています。
旧環境はオンプレ環境にてHULFT7で動いていましたが、新環境はクラウド環境を構築しHULFT8で稼働する予定です。

環境構築および設定の移行作業が終わり、各テストを進めている段階です。

発生している問題・エラーメッセージ

旧環境からバッチプログラムを持ってきて確認しています。この過程にて「%date%」と「%time%」でそれぞれ取得している日付と時刻が、コマンドプロンプト上で実行した場合と、HULFTのジョブ起動した場合とで異なることがわかりました。

具体的には
・コマンドプロンプト上で実行した場合
%date%→2023/04/03
%time%→15:14:39.67

・HULFTのジョブ起動した場合
%date%→04/03/2023 Mon
%time%→15:14:39.67 Mon
といったフォーマットで出力されました。

出力される内容が変わってしまうため、日付や時刻で処理制御される部分が正常に動かない状況となっています。

設定に関して

ちなみにこの部分に影響がありそうなWindows本体とHULFTの設定ですが
・Windows
地域 > 形式:日本語
日付と時刻の形式:
日付(短い形式):2023/04/03
日付(長い形式):yyyy'年'M'月'd'日'
時刻(短い形式):H:mm
時刻(長い形式):H:mm:ss
週の最初の曜日 :日曜日

地域 > 管理
Unicode対応ではないプログラムの現在の言語:日本語(日本)

・HULFT
システム管理 > システム動作環境設定 > グローバル
日付形式:YMD
HULFT動作言語:JPN
となっています。

試したこと

HULFTのサポートに問い合わせた所

HULFTには「%date%」および「%time%」の表示形式を変更するような設定がないため、弊社(HULFT側)では原因の特定が困難。
弊社環境でも動作確認を行ったが、事象は再現しなかった。
想定される原因としては、OSが提供している変数に特定条件下で"03/20/2023 Mon"形式で取得されるようになるといった動作が存在している可能性があるのではないか。
「%date%」および「%time%」変数自体がOS側で参照仕様を定めているものなので、弊社では上記の条件について回答することができない。

といった回答でした。

補足情報(FW/ツールのバージョンなど)

新環境OS:Windows Server 2022 Datacenter

コメントを投稿

0 コメント