fte: filespec Ant nested element

fte:filespec 參數在其他作業中用作巢狀元素。 使用 fte:filespec 來說明一或多個來源檔案、目錄[z/OS] 或資料集與目的地之間的對映。 一般而言,當表示一組要移動或複製的檔案或目錄 [z/OS]或資料集 時,會使用這個元素。

由下列作業進行巢狀處理:

來源規格屬性

您必須指定 srcfilespecsrcqueue 其中一個。
srcfilespec
指定檔案作業的來源。 此屬性的值可以包含萬用字元。
srcqueue
指定傳送的來源為佇列。 傳送會移動此屬性所指定佇列上儲存的訊息中的資料。 如果 fte:filespec 作業是以巢狀方式置於 fte:filecopy 作業中,則您不能指定此屬性。

如果來源代理程式為通訊協定橋接器代理程式,則不支援 srcqueue 屬性。

目的地規格屬性

您必須指定 dstdirdstdsdstfilespacedstfiledstqueuedstpds 的其中一個。
dstdir
將目錄指定為檔案作業的目的地。
[z/OS]dstds
將資料集指定為檔案作業的目的地。

僅當目的地代理程式在 z/OS® 平台上執行時,才支援此屬性。

dstfile
將檔案指定為檔案作業的目的地。
dstfilespace
將檔案空間指定為檔案作業的目的地。
僅當目的地代理程式是具有 Web 閘道檔案空間存取權的 IBM® MQ 8.0 Web 代理程式時,此屬性才適用。
[z/OS]dstpds
將分割的資料集指定為檔案作業的目的地。

僅當目的地代理程式在 z/OS 平台上執行時,才支援此屬性。

dstqueue

將佇列指定為檔案轉為訊息作業的目的地。 您可以選擇性地使用 QUEUE@QUEUEMANAGER 格式,在此規格中包含佇列管理程式名稱。 如果未指定佇列管理程式名稱,而且未將 enableClusterQueueInputOutput 代理程式內容設為 true,則會使用目的地代理程式佇列管理程式。 如果 enableClusterQueueInputOuput 內容設為 true ,則目的地代理程式會使用標準 IBM MQ 程序來判斷佇列所在的位置。 您必須指定佇列管理程式上存在的有效佇列名稱。

如果您指定 dstqueue 屬性,則不能指定 srcqueue 屬性,因為這些屬性互斥。

如果目的地代理程式為通訊協定橋接器代理程式,則不支援 dstqueue 屬性。

來源選項屬性

srcencoding
選用項目。 要傳送的檔案所使用的字集編碼。

只有在 conversion 屬性設為 text. 值時,才能指定這個屬性

如果您沒有指定 srcencoding 屬性,則會將來源系統的字集用於文字傳送。
srceol
選用項目。 正在傳送的檔案所使用的行尾定界字元。 有效值如下所示:
  • CRLF - 將後接換行字元的歸位字元用作行尾定界字元。 Windows 系統一般使用此慣例。
  • LF - 將換行字元用作行尾定界字元。 UNIX 系統一般使用此慣例。
僅當 conversion 屬性設定為 text 值時,您才可以指定此屬性。 如果您沒有指定 srceol 屬性,文字傳送會根據來源代理程式的作業系統自動決定正確的值。
[z/OS]srckeeptrailingspaces
選用項目。 採用文字模式進行傳送時,決定是否保留來源記錄(從固定長度格式的資料集讀取)中的尾端空格。 有效值如下所示:
  • true - 保留尾端空格。
  • false - 移除尾端空格。
如果您沒有指定 srckeeptrailingspaces 屬性,則會指定預設值 false

只有在同時指定 srcfilespec 屬性並將 conversion 屬性設為值 text. 時,才能指定這個屬性。

srcmsgdelimbytes
選用項目。 指定在將多則訊息附加到二進位檔時,要作為定界字元插入的一個以上位元組值。 每一個值必須指定為兩個十六進位數字,範圍介於 00 - FF 之間,並以 x 作為字首。 若有多個位元組,必須以逗點區隔。 例如,srcmsgdelimbytes=x08,xA4。 僅當您同時指定 srcqueue 屬性時,才可以指定 srcmsgdelimbytes 屬性。 如果您已為 conversion 屬性指定 text 值,則不能指定 srcmsgdelimbytes 屬性。
srcmsgdelimtext
選用項目。 指定在將多則訊息附加到文字檔時,要作為定界字元插入的文字序列。 您可以在定界字元中針對字串文字包含 Java ESC 序列。 例如,srcmsgdelimtext=\u007d\n。 來源代理程式會在每則訊息的後面插入文字定界字元。 使用傳送的來源編碼將文字定界字元編碼為二進位格式。 每則訊息都以二進位格式讀取,以二進位格式將已編碼的定界字元附加到訊息,並且以二進位格式將結果傳送至目的地代理程式。 如果來源代理程式字碼頁包括移入及移出狀態,則該代理程式會假設每則訊息的訊息結尾都為移出狀態。 在目的地代理程式上,會以與檔案相同的方式,將二進位資料轉換為檔案文字傳送。 如果您也已指定 srcqueue 屬性,並已為 conversion 屬性指定 text 值,則只能指定 srcmsgdelimtext 屬性。
srcmsgdelimposition
選用項目。 指定文字或二進位定界字元的插入位置。 有效值如下所示:
  • prefix - 將定界字元插入到目的地檔案每則訊息中資料的前面。
  • postfix - 將定界字元插入到目的地檔案每則訊息中資料的後面。

僅當您也指定 srcmsgdelimbytessrcmsgdelimtext 屬性其中一個時,才可以指定 srcmsgdelimposition 屬性。

srcmsggroups
選用項目。 指定訊息依 IBM MQ 群組 ID 分組。 第一個完整群組會寫入目的地檔案。 如果未指定此屬性,則會將來源佇列上的所有訊息寫入目的地檔案。 僅當您同時指定 srcqueue 屬性時,才可以指定 srcmsggroups 屬性。
srcqueuetimeout
選用項目。 指定等待下列其中一個條件成立的時間(以秒為單位):
  • 新訊息寫入佇列。
  • 如果已指定 srcmsggroups 屬性,則條件為完整群組寫入佇列。
如果在 srcqueuetimeout 值指定的時間內,這兩個條件都不符合,來源代理程式會停止從佇列進行讀取,並完成傳送。 如果未指定 srcqueuetimeout 屬性,則在以下情況下來源代理程式會立即停止從來源佇列進行讀取:來源佇列為空白或者已指定 srcmsggroups 屬性,佇列上沒有完整群組。 僅當您同時指定 srcqueue 屬性時,才可以指定 srcqueuetimeout 屬性。

如需設定 srcqueuetimeout 值的相關資訊,請參閱 指定訊息轉為檔案傳送等待時間的指引

[z/OS]srcrecdelimbytes
選用項目。 指定在將記錄導向來源檔案中的多筆記錄附加到二進位檔時,要作為定界字元插入的一個以上位元組值。 您必須將每一個值指定為兩個十六進位數字,範圍介於 00-FF 之間,並以 x 作為字首。 若有多個位元組,必須以逗點區隔。 例如:

srcrecdelimbytes="x08,xA4"
僅當傳送來源檔案為記錄導向(例如 z/OS 資料集),目的地檔案為一般的非記錄導向檔案時,您才可以指定 srcrecdelimbytes 屬性。 如果您也已為 conversion 屬性指定 text 值,則不能指定 srcrecdelimbytes 屬性。
srcrecdelimpos
選用項目。 指定二進位定界字元的插入位置。 有效值如下所示:
  • prefix - 將定界字元插入到目的地檔案每筆來源記錄導向檔案記錄中資料的前面。
  • postfix - 將定界字元插入到目的地檔案每筆來源記錄導向檔案記錄中資料的後面。
僅當您同時指定 srcrecdelimbytes 屬性時,才可以指定 srcrecdelimpos 屬性。

目的地選項屬性

dstencoding
選用項目。 要用於已傳送檔案的字集編碼。

只有在 conversion 屬性設為 text. 值時,才能指定這個屬性

如果未指定 dstencoding 屬性,則會將目的地系統的字集用於文字傳送。
dsteol
選用項目。 要用於已傳送檔案的行尾定界字元。 有效值如下所示:
  • CRLF - 將後接換行字元的歸位字元用作行尾定界字元。 Windows 系統一般使用此慣例。
  • LF - 將換行字元用作行尾定界字元。 UNIX 系統一般使用此慣例。

只有在 conversion 屬性設為 text. 值時,才能指定這個屬性

如果您沒有指定 dsteol 屬性,文字傳送會根據目的地代理程式的作業系統自動決定正確的值。
dstmsgdelimbytes
選用項目。 指定將一個二進位檔分割為多則訊息時要使用的十六進位定界字元。 所有訊息都具有相同的 IBM MQ 群組 ID; 群組中的最後一則訊息已設定 IBM MQ LAST_MSG_IN_GROUP 旗標。 將十六進位位元組指定為定界字元所採用的格式為 xNN,其中 N 為範圍介於 0-9 或 a-f 的字元。 透過指定以逗點區隔的十六進位位元組清單(例如:x3e,x20,x20,xbf),您可以將十六進位位元組的序列指定為定界字元。

僅當您也已指定 dstqueue 屬性並且傳送採用二進位模式時,才可以指定 dstmsgdelimbytes 屬性。 您只能指定 dstmsgsizedstmsgdelimbytesdstmsgdelimpattern 屬性的其中一個。

dstmsgdelimpattern
選用項目。 指定將文字檔分割成多個訊息時使用的 Java 正規表示式。 所有訊息都具有相同的 IBM MQ 群組 ID; 群組中的最後一則訊息已設定 IBM MQ LAST_MSG_IN_GROUP 旗標。 將正規表示式指定為定界字元的格式是用括弧 (regular_expression)括住的正規表示式,或用雙引號 regular_expression括住的正規表示式。 如需相關資訊,請參閱 MFT 使用的正規表示式

依預設,目的地代理程式限制正規表示式可以比對的字串長度為五個字元。 您可以使用 maxDelimiterMatchLength 代理程式內容變更此行為。 如需相關資訊,請參閱 MFT 進階代理程式內容

僅當您也已指定 dstqueue 屬性並且傳送採用文字模式時,才可以指定 dstmsgdelimpattern 屬性。 您只能指定 dstmsgsizedstmsgdelimbytesdstmsgdelimpattern 屬性的其中一個。

dstmsgdelimposition
選用項目。 指定文字或二進位定界字元預期所在的位置。 有效值如下所示:
  • prefix - 定界字元預期位於每一行的開始。
  • postfix - 定界字元預期位於每一行的結尾。

僅當您也指定 dstmsgdelimpattern 屬性時,才可以指定 dstmsgdelimposition 屬性。

dstmsgincludedelim
選用項目。 指定是否要在訊息中包含將檔案分割為多則訊息所使用的定界字元。 如果已指定 dstmsgincludedelim 屬性,則會在訊息(包含定界字元之前的檔案資料)的結尾包含定界字元。 依預設,訊息不包括定界字元。 僅當您也已指定 dstmsgdelimpatterndstmsgdelimbytes 屬性其中一個時,才可以指定 dstmsgincludedelim 屬性。
dstmsgpersist
選用項目。 指定寫入目的地佇列的訊息是否持續保存。 有效值如下所示:
  • true - 將持續訊息寫入目的地佇列。 這是預設值。
  • false - 將非持續性訊息寫入目的地佇列。
  • qdef - 持續性值取自目的地佇列的 DefPersistence 屬性。

僅當也已指定 dstqueue屬性時,您才可以指定此屬性。

dstmsgprops
選用項目。 指定由傳送寫入目的地佇列的第一則訊息是否已設定 IBM MQ 訊息內容。 可能的值為:
  • true - 在由傳送建立的第一則訊息上設定訊息內容。
  • false - 不在由傳送建立的第一則訊息上設定訊息內容。 這是預設值。
如需相關資訊,請參閱 MFT 在寫入目的地佇列的訊息上設定的MQ 訊息內容

僅當也已指定 dstqueue屬性時,您才可以指定此屬性。

dstmsgsize
選用項目。 指定是否要將檔案分割為多則固定長度的訊息。 所有訊息都具有相同的 IBM MQ 群組 ID; 群組中的最後一則訊息已設定 IBM MQ LAST_MSG_IN_GROUP 旗標。 訊息的大小由 dstmsgsize 值指定。 dstmsgsize 的格式為 lengthunits,其中 length 為正整數值,units 為下列其中一個值:
  • B - 位元組。 容許的最小值為目的地訊息字碼頁的每個字元佔用的位元組數最大值的兩倍。
  • K - KB。 這相等於 1024 個位元組。
  • M - MB。 這相等於 1024KB。
如果檔案以文字模式傳送,且為雙位元組字集或多位元組字集,則會依指定的訊息大小,在最近字元界限上將檔案分割成多個訊息。

僅當您也已指定 dstqueue 屬性時,才可以指定 dstmsgsize 屬性。 您只能指定 dstmsgsizedstmsgdelimbytesdstmsgdelimpattern 屬性的其中一個。

dstunsupportedcodepage
選用項目。 指定在 dstqueue 屬性所指定的目的地佇列管理程式,不支援將檔案資料作為文字傳送傳送至佇列時所使用的字碼頁情況下,要採取的動作。 此屬性的有效值如下所示:
  • binary - 繼續進行傳送,但不將字碼頁轉換套用至正在傳送的資料。 指定此值相等於不將 conversion 屬性設定為 text
  • fail - 不繼續進行傳送作業。 該檔案會記錄為傳送失敗。 這是預設值。
如果您也已指定 dstqueue 屬性,並已為 conversion 屬性指定 text 值,則只能指定 dstunsupportedcodepage 屬性。
[z/OS]dsttruncaterecords
選用項目。 指定要將長度超過 LRECL 資料集屬性的目的地記錄截斷。 如果設為 true,則會將記錄截斷。 如果設為 false,則會將記錄換行。 預設值為 false。 此參數僅適用於目的地為資料集的文字模式傳送。

其他屬性

總和檢查
選用項目。 決定對已傳送檔案進行總和檢查所使用的演算法。
  • MD5 - 使用 MD5 雜湊演算法。
  • NONE - 不使用總和檢查演算法。
如果您沒有指定 checksum 屬性,則會使用預設值 MD5
轉換
選用項目。 指定在傳送檔案時,要套用至檔案的轉換類型。 可能的值為:
  • binary - 不套用轉換。
  • text - 在來源及目的地系統間套用字碼頁轉換。 同時套用行定界字元的轉換。 srcencodingdstencodingsrceoldsteol 屬性會影響所套用的轉換。
如果您沒有指定 conversion 屬性,則會指定預設值 binary
overwrite
選用項目。 決定作業是否可以改寫現有的目的地檔案[z/OS] 或資料集 。 當您指定值 true時,會改寫任何現有的目的地檔案[z/OS] 或資料集 。 當您指定值 false時,目的地存在重複檔案[z/OS] 或資料集 會導致作業失敗。 如果未指定 overwrite 屬性,則會指定預設值 false
遞迴
選用項目。 決定檔案傳送是否遞迴到子目錄。 如果您指定 true 值,則傳送會遞迴到子目錄。 如果您指定 false 值,則傳送不會遞迴到子目錄。 如果未指定 recurse 屬性,則會指定預設值 false

範例

此範例指定 fte: filespec ,來源檔為 file1.bin ,目的地檔為 file2.bin.

<fte:filespec srcfilespec="/home/fteuser/file1.bin" dstfile="/home/fteuser/file2.bin"/>