我需要从.csv
中选择一个带有max filename的\\\Share\Folder\
文件,以便进一步导入到SQL。文件名是字母数字,例如ABC_DE_FGHIJKL_MNO_PQRST_U-1234567.csv
,其中数字部分会有所不同,但每次打包时我只需要最多一个。
约束:在该SQL服务器上没有写访问权限,我使用## Temp表进行导入,这是文件名处理最不理想的方法(此服务器上的每个循环都没有)。
理想情况下,它将基于函数/ expr的变量(如果需要,与脚本任务结合)传递到连接管理器。任何想法都非常赞赏。
答案 0 :(得分:2)
您必须导入 System.Linq 库
Public Sub Main()
Dim strDirectory As String = "C:\New Folder" ' Enter =the directory
Dim strFile As String = String.Empty
strFile = IO.Directory.GetFiles(strDirectory, "*.csv", IO.SearchOption.TopDirectoryOnly).OrderBy(Function(x) x.Length).Last
Dts.Variables.Item("CsvFile").Value = strFile
Dts.TaskResult = ScriptResults.Success
End Sub