試試這個: -
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