test_changeorder_test_visua.../Test_ChangeOrder/RenameFiles.cs
Eugen Höglinger 9ff0f0f4cb Initialized
2024-10-09 15:43:39 +02:00

76 lines
2.7 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Test_ChangeOrder
{
internal class RenameFiles
{
public List<string> Rename(List<string> files)
{
//Dateien nach dem verschieben umbenennen, damit die Nummer im Dateinamen mitder Reihung übereinstimmt
int number = 0;
string fileName = "";
//string tempFileName = "";
string file = "";
string path = "";
System.IO.File.Move(files[files.Count - 1], Path.GetDirectoryName(files[files.Count - 1]) + "\\" + Path.GetFileNameWithoutExtension(files[files.Count - 1]) + "_" + Path.GetExtension(files[files.Count - 1]));
for (int i = 0; i < files.Count; i++)
{
file = Path.GetFileName(files[i]);
path = Path.GetDirectoryName(files[i]);
number = Convert.ToInt32(file.Remove(file.IndexOf(" ")));
fileName = file.Remove(0, file.IndexOf(" "));
if (number != i + 1)
{
//Umbenennen
if (i + 1 < 10)
{
fileName = path + "\\0" + (i + 1).ToString() + fileName;
}
else
{
fileName = path + "\\" + (i + 1).ToString() + fileName;
}
try
{
if (i == files.Count - 1)
{
System.IO.File.Move(Path.GetDirectoryName(files[i]) + "\\" + Path.GetFileNameWithoutExtension(files[i]) + "_" + Path.GetExtension(files[i]), fileName); //Wenn der letzte Eintrag
}
else
{
System.IO.File.Move(files[i], fileName); //Alle, ausser dem letzten Eintrag
}
}
catch (Exception)
{
MessageBox.Show("Datei konnte nicht umbenannt werden.", "Fehler", MessageBoxButtons.OK);
}
files[i] = fileName;
}
}
for (int j = 0; j < files.Count - 1; j++)
{
if (Path.GetFileNameWithoutExtension(files[j]).EndsWith("_"))
{
files[j] = Path.GetDirectoryName(files[j]) + "\\" + Path.GetFileNameWithoutExtension(files[j]).Remove(Path.GetFileNameWithoutExtension(files[j]).Length - 1) + Path.GetExtension(files[j]);
}
}
return files;
}
}
}