これを試して :-
はForeach Loopソース フォルダーを列挙し、パスは変数に格納されます。正規表現を使用してフォルダ名を取得するscript taskコードを記述します。スクリプト タスクの値は、別の変数に格納されます。File System Task
パッケージデザインは

上記のDestLoc変数の式で、場所に応じて変更します
- ForEach ループ構成


必要に応じてソース フォルダーの場所を変更します。
例
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 namesfilePatterns
