2015-09-28 75 views
0

我在Talend有一個工作,它將連接到一個文件夾並查找當前日期的文件(基於名稱即20150928_MyFile,20150928_MySecondFile和20150928_MyThirdFile),並將這些文件移動到其他文件夾。我已經使用下面的flemask來查找今天的文件,但這種方式Talend正在移動當前日期的所有文件,但我希望它只移動當前日期的最新文件(20150928_MyFile,20150928_MySecondFile和20150928_MyThirdFile)以移動每個文件。 我用下面的文件掩碼 -使用Talend移動當天的最新文件

((String)TalendDate.formatDate("yyyyMMdd", TalendDate.getCurrentDate())) + "*.CSV" 

非常感謝事先!

enter image description here

回答

1

你不能相信當前的日期基於面膜,因爲它沒有必要在現在時刻的文件,但可以使用tFileList拿到最後修改時間,並在每次迭代中,得到最大最後修改時間:

tFileList-----(iterate)------tJavaRow 
    | 
    | 
(OnSubJobOk) 
    | 
    .. [the rest of the job] 
  • tFileList可以遍歷文件夾,並modifiction時間對文件進行排序。
  • tJavaRow只獲取第一個文件,使用全局變量或上下文變量來保存它。
+0

非常感謝...我嘗試過,但仍然沒有解決目的。我在tFilelist中選擇了Order By:Modified date選項。我應該完全刪除Filemask還是將其更新爲其他內容?請幫忙... – Meen

+0

@Meen哼!發生了什麼事?工作結束了好還是錯誤?輸出信息是什麼? Plz記錄你的工作,並在tjavarow中放置一些println,並執行命令行動:Desc來獲得最新的文件。 – 54l3d

相關問題