试试这个: -
Foreach Loop
将枚举源文件夹,路径将被存储在一个变量中。在script task
编写代码使用正则表达式.The脚本任务值以得到该文件夹名称将被存储在其中将在File System Task
使用另一个变量的包装设计将
在用于DestLoc
可变上述表达式中,它改变按您的位置
- foreach循环配置
更改源文件夹位置按需要
钪RIPT任务 - 增加了2个可变如下
您需要从变量LoopFiles
例
LoopFiles
变量解压文件夹名称将具有D:\ForLoop\SampleFolder1.txt
在运行时
因此,为了从上述可变使用正则表达式提取的文件夹名称
打开Edit Script
写下面的代码
List<string> filePatterns = null;
public void Main()
{
filePatterns = new List<string>();
filePatterns.Add("Folder1");
filePatterns.Add("Folder2");
string fileName = Path.GetFileNameWithoutExtension(Dts.Variables["User::LoopFiles"].Value.ToString());
Match match = Regex.Match(fileName, string.Join("|", filePatterns.ToArray()));
Dts.Variables["User::FolderName"].Value = match.Value;
Dts.TaskResult = (int)ScriptResults.Success;
}
在上面的代码,你解压文件夹名称,将其存储在变量FolderName
。如果你有multiple folders
,则只需添加folder names
到filePatterns
集合变量。
已经创建的上述文件夹? – praveen 2013-03-08 06:58:41
是目标文件夹已存在 – LOL 2013-03-08 07:04:10