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
しかし、リネームするバッチファイルやシェルスクリプトと集信管理情報の集信正常ジョブを使用することで、実現可能です。
また、バッチファイルやシェルスクリプトを集信ファイルを自動的に取り込むこともできるので、集信ファイル名は、ハードコーディングとなりません。
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