さまざまなスレッドでこれを調査し、1 つまたは 2 つの部分に対して実行可能な解決策を見つけましたが、2 つをリンクするのに問題があります。基本的に、特定の名前のファイルのディレクトリを検索したいのですが、このファイルが複数ある場合は、最新のファイルのみを選択したいと考えています。たとえば、DOG という名前のファイルが 3 つある場合、最新のファイルだけが必要です。私はバージョン1.0を使用しているので、Linqはオプションではないと思います。これは、最新のファイルをプルすると思われる、私が見つけたソリューションに最も近いものです
var targetDirectory = new DirectoryInfo("G:\SomeFilePath");
string[] files = System.IO.Directory.GetFiles(Dts.Variables["User::DirectoryPath"].Value.ToString());
string lastFileName=string.Empty;
foreach (string Current_filename in files)
{
if (string.Compare(Current_filename,lastFileName)>=1)
{
lastFileName = Current_filename;
}
}
Dts.Variables["User::LastFileName"].Value = lastFileName;
ファイルはすべて同じディレクトリにあるため、このコードが最新のファイルをプルする場合、クエリは次のとおりです。たとえば、必要な最新のファイルを指定するにはどうすればよいですか?最新の Dog ファイルと最新の Cat ファイルだけを取得します。
このスレッドの回答に基づいて、私はこのソリューションhttps://stackoverflow.com/a/1781668/451518を使用して最新のファイルを返していますが、名前に基づいてこれらのファイルを分離したいことがわかっています。たとえば、ディレクトリを検索したいすべての DOG 、または CAT txt ファイルに対して、リンクに示されているように、最新の関数で順序を実行します
明確にするために、ファイル名はまったく同じではありません。DOG2またはDOG3を意味しますが、重要なDOG部分であるため、DOGに基づいて最新のものを選択する必要があります
私のメインでは私は呼んでいます
if(filename.StartsWith("DOG"))
{
GetLatestWritenFileFileInDirectory(directoryInfo);
}
ただし、DOGという名前のファイルのみを取得するように GetLatestWritenFileFileInDirectory を編集したい