HULFTの集信ファイルをデイトスタンプ付ファイル名に変更したい


HULFT単体では、集信ファイルを自動的にリネームすることはできません。
しかし、リネームするバッチファイルやシェルスクリプトと集信管理情報の集信正常ジョブを使用することで、実現可能です。

また、バッチファイルやシェルスクリプトを集信ファイルを自動的に取り込むこともできるので、集信ファイル名は、ハードコーディングとなりません。

Windows用 バッチファイル例

@echo off

REM 注:集信管理情報内の[集信ファイル名]および[フォルダ名]に1つでもスペースを使用しない事
REM HULFTの集信正常時ジョブで本ジョブを起動すると$FILENMに集信ファイル名が代入される
call :MV_FILE %$FILENM%

:MV_FILE

REM HULFTの集信正常時ジョブで本ジョブを起動すると$EDATE2,$ETIMEに日時が代入される
move %1 %~dp1%$EDATE2%%$ETIME%.dat

exit %ERRORLEVEL%


集信ファイル
       D:\tmp\hulft_rcv\rcvdata.dat

moveされた集信ファイル名
       D:\tmp\hulft_rcv\20210619171146.dat




Linux用 シェルスクリプト例

#!/bin/bash

# $FILENMにはフルパスの集信ファイル名が置換される
# $(dirname $FILENM)には集信ファイルのディレクトリ名が置換される
# $EDATE2$ETIME$には年月日時分秒が置換される
# $(date +%N)にはナノ秒が置換される(dateコマンドがGNU Coreutilsであることが前提)
mv $FILENM $(dirname $FILENM)/test_$EDATE2$ETIME$(date +%N).txt

# mvコマンドの終了ステータスで本シェルスクリプトも終了
exit $?


集信ファイル
       /tmp/hulft_rcv/rcvdata.txt

mvされた集信ファイル名
       /tmp/hulft_rcv/test_20210624170326744522741.txt







お問合せ