下図の仕様を満たすような設定とスクリプトを作成しました。
途中で全部SFTP環境でやれそうな気がしてましたのでそのため、特定のフォルダにファイルがおかれた場合というファイルトリガ機能を追加しました。

仕様
配信サーバ(wHULFT)のc:\tmp\tmp3フォルダにcsvファイルが保存されたら集信サーバ(wHULFT02)にcsvファイルを配信する。複数のファイルがある場合のは最新のcsvファイルのみ配信対象とする
結論としてHULFTのインターフェイスのみで上記の仕様を満たすのは不可能みたいです。
HULFTをファイル監・ファイル転送インフラとして、スクリプトを記載することがメインになります。
wHULFTのホスト名から推定されたかもしれませんが、OSはWindows 2022を使用しています。また、名前解決する必要があります(DNSまたはhosts)
配信サーバ(wHULFT)の設定手順


「転送グループ情報」より、転送グループを作成します。localの転送グループIDでwHULFT02を登録します(集信サーバも一緒です)



以下、FILETRG01.batの中身です。コピー&ペーストでFILETRG01.batのファイル名でc:\tmpに保存してください(Windowsバッチファイル)。
@echo off
setlocal enabledelayedexpansion
REM === 1. 監視対象フォルダ ===
set "TARGET_DIR=C:\tmp\tmp3"
REM === 2. HULFT配信管理名 ===
set "JOB_NAME=FILETRG"
REM === 3. 最新ファイルの存在チェック ===
if not exist "%TARGET_DIR%\*" (
echo [%date% %time%] [ERROR] %TARGET_DIR% にファイルがありません
exit /b 1
)
REM === 4. 最新ファイル名(1件のみ)を取得 ===
for /f "delims=" %%i in ('dir /b /a-d /o-d "%TARGET_DIR%\*"') do (
set "LATEST_NAME=%%i"
rem 1件目で終了
goto :after_found
)
:after_found
echo [%date% %time%] [INFO] 送信ファイル名: %LATEST_NAME%
REM === 5. HULFT ジョブ実行 ===
set "SEND_FILE=%LATEST_NAME%"
pushd "C:\HULFT Family\hulft10\bin"
echo [%date% %time%] [INFO] utlsend 実行中...
utlsend -f "!JOB_NAME!" -msg0 "!SEND_FILE!"
set "ERRCODE=%ERRORLEVEL%"
popd
REM === 6. 実行結果チェック ===
if %ERRCODE% neq 0 (
echo [%date% %time%] [ERROR] utlsend 実行に失敗しました (コード=%ERRCODE%)
exit /b %ERRCODE%
) else (
echo [%date% %time%] [INFO] utlsend 実行成功
)
endlocal
exit /b 0
RHELでのバッシュはこちら
#!/bin/bash
# === 設定 ===
TARGET_DIR="/tmp/tmp3" # 監視対象フォルダ
JOB_NAME="FILETRG" # HULFT配信管理名
HULFT_BIN="/usr/local/HULFT/bin" # HULFT実行ディレクトリ
LOG_FILE="/var/log/hulft_send.log" # ログ出力先
# === 関数: ログ出力 ===
log() {
local level="$1"
local msg="$2"
local timestamp
timestamp=$(date '+%Y-%m-%d %H:%M:%S')
echo "[$timestamp] [$level] $msg" | tee -a "$LOG_FILE"
}
# === 1. 監視対象フォルダの存在チェック ===
if [ ! -d "$TARGET_DIR" ]; then
log "ERROR" "$TARGET_DIR が存在しません"
exit 1
fi
# === 2. 最新ファイルの存在チェック ===
if [ ! "$(ls -A "$TARGET_DIR" 2>/dev/null)" ]; then
log "ERROR" "$TARGET_DIR にファイルがありません"
exit 1
fi
# === 3. 最新ファイル名(1件のみ)を取得 ===
LATEST_NAME=$(ls -t "$TARGET_DIR" | head -n 1)
log "INFO" "送信ファイル名: $LATEST_NAME"
# === 4. HULFT ジョブ実行 ===
SEND_FILE="$LATEST_NAME"
if [ ! -x "$HULFT_BIN/utlsend" ]; then
log "ERROR" "utlsend コマンドが見つかりません: $HULFT_BIN/utlsend"
exit 1
fi
cd "$HULFT_BIN" || {
log "ERROR" "HULFT実行ディレクトリに移動できません ($HULFT_BIN)"
exit 1
}
log "INFO" "utlsend 実行中..."
./utlsend -f "$JOB_NAME" -msg0 "$SEND_FILE"
ERRCODE=$?
# === 5. 実行結果チェック ===
if [ $ERRCODE -ne 0 ]; then
log "ERROR" "utlsend 実行に失敗しました (コード=$ERRCODE)"
exit $ERRCODE
else
log "INFO" "utlsend 実行成功"
fi
exit 0

サービスの再起動
ファイルトリガを新規作成・変更・削除した場合HULFTサービスの再起動が必要になりますので。ローカルサービス(HULFT)をここで再起動します。
配信側は以上です。
集信サーバ(wHULFT02)の設定手順

「転送グループ情報」より、転送グループを作成します。localの転送グループIDでwHULFT02を登録します(配信サーバも一緒です)
テスト
配信サーバのc:\tmp\tmp3にcsvファイルを置くと集信サーバのc:\tmp\tmp3に同じcsvファイルが転送されます。
ご参考まで