当前位置: 首页 > 编程语言 > C#

使用SSIS和脚本组件移动文件共享

时间:2023-04-10 14:41:17 C#

使用SSIS和脚本组件移动文件我需要在SSIS中的脚本组件中写一段代码,将代码文件移动到对应的文件夹中。我得到的文件通常命名为“Dem323_04265.45.23.4”、“Dem65_459.452.56”、“Ec2345_456.156.7894”,我需要将它们移动到相应的文件夹中。我的文件夹名称是“OklahomaCity(323)”、“NewYork(65)”。我需要将这些文件移动到匹配的文件夹,例如“Dem323_04265.45.23.4”将转到文件夹“OklahomaCity”“(323)”。我需要修改我的代码,使位于前两个或三个字母和下划线之间的数字与括号中的数字相匹配。我已经这样做了好几天了,我是ssis和新手c#所以任何帮助将不胜感激。这是我到目标前停止的代码:publicvoidMain(){stringfilename;//字符串日期部分;布尔文件夹存在标志;filename=Dts.Variables["User::FileName"].Value.ToString();//datepart=(filename.Substring(filename.Length-12)).Substring(0,8);varfolderNumber=Regex.Match(filename,//Dts.Variables["OutputMainFolder"].Value.ToString(),@"(([^)]*))").Groups[1].Value;FolderExistFlg=Directory.Exists(Dts.Variables["OutputMainFolder"].Value.ToString()+"\"+folderNumber);如果(!FolderExistFlg){Directory.CreateDirectory(Dts.Variables["OutputMainFolder"].Value.ToString()+"\"+folderNumber);}File.Move(Dts.Variables["SourceFolder"].Value.ToString()+"\"+文件名+"\"+folderNumber,Dts.Variables["OutputMainFolder"].Value.ToString()+"\"+文件名);Dts.TaskResult=(int)ScriptResults.Success;}#regionScriptResults声明枚举ScriptResults{Success=Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,Failure=Microsoft.SqlServer.Dts.Runti我.DTSExecResult.Failure};#endregion}}下面的代码片段将根据匹配条件移动文件您需要根据您的配置处理源输入。以上就是C#学习教程的全部内容:使用SSIS和脚本组件移动文件共享。如果对你有用,需要了解更多C#学习教程,希望大家多多关注—stringfilePath=@"C:PackagesStackOverflow";//stringfileName=string.Empty;//获取文件列表string[]filePaths=Directory.GetFiles(filePath);//获取文件夹列表string[]dirPaths=Directory.GetDirectories(filePath);//遍历文件并移动它们foreach(stringfileNamesinfilePaths){string[]pathArr=fileNames.Split('\');字符串文件名=pathArr.Last().ToString();intindex=fileName.IndexOf('_');stringfileNamePart=fileName.Substring(0,index);//获取文件名的第一个数字部分以执行匹配varfileNameNumPart=Regex.Replace(fileNamePart,"[^0-9]","");//查找相关目录vardirMatch=dirPaths.FirstOrDefault(stringToCheck=>stringToCheck.Contains(fileNameNumPart.ToString()));if(dirMatch!=null){//如果目标文件已经存在,移动将失败if(!File.Exists(dirMatch+'\'+fileName)){File.Move(文件名,dirMatch+'\'+文件名);}}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: