Ich versuche, eine Importdatei basierend auf einer Liste von Dateien in einem Verzeichnis zu erstellen. Das Problem ist jetzt, dass ich aufgefordert wurde, den Wert eines der Ausgabeverzeichnisse basierend auf einem bestimmten Teil des Dateinamens zu erhöhen.Inkrementieren einer Variablen basierend auf einer analysierten Spalte aus einer Liste von Dateien in einem Verzeichnis
Unter dem LinkName
ist fest codiert Full Image_0
. Ich möchte es tatsächlich mehr wie LinkName = "Full Image_" + intXYZ.toString();
intXYZ
wäre eine Variable, die bei 0 beginnt und um 1 für jede Datei mit identischen PartNums
geht. Hier
ist relevant Code:
ImageName = Directory.GetFiles(@"\\192.168.0.144\iApps_Final_Images\ProductImages\", "*.*", SearchOption.AllDirectories);
ImageItem = Directory.GetFiles(@"\\192.168.0.144\iApps_Final_Images\ProductImages\", "*.*", SearchOption.AllDirectories).Select(file => Path.GetFileNameWithoutExtension(file)).ToArray();
// Set path for output file and open
FilePath = @"\\vhome\public\p21\Images.txt";
var writer = new StreamWriter(FilePath);
// Go through each file found (not named thumbs) and output row of data needed for inv_mast_links import
foreach (var item in ImageName)
{
SetNum = SetNum + 1;
LinkPath = item.ToString();
PartNum = ImageItem[SetNum - 1].ToString().Split('_').Last();
LinkName = "Full Image_0";
var line = SetNum + delimiter + PartNum + delimiter + LinkName + delimiter + LinkPath + delimiter + "Item Maintenance";
if (PartNum != "Thumbs")
{
writer.WriteLine(line);
}
}
// Close the output file
writer.Close();
Beispiel: Wenn Dateien im Verzeichnis sind: TVImage_567.jpg
, FrontView_888.jpg
, BackView_888.jpg
dann da zwei der Bilder für die gleichen PartNum
von 888 sind die gewünschten drei LinkName
Ausgänge wären : Full Image_0
, Full Image_0
, Full Image_1
.
Ihr Beispiel ist nicht klar. Bitte erläutern Sie ein bisschen mehr. – DarkKnight
Laut Ihrem Code gibt es einige Dateien mit dem Namen 'something_Thumbs', ist das korrekt? Obwohl es für das eigentliche Problem nicht relevant ist, ist es verwirrend, weil Ihre Variable/Eigenschaft "PartNum" heißt und tatsächlich ein Wort sein könnte. Sie sollten immer den Typ der Variablen angeben, für die Sie die Initialisierung nicht angegeben haben. Macht die Sache klarer. – Mat