diff --git a/.vs/DeleteFileFolder.git/v16/.suo b/.vs/DeleteFileFolder.git/v16/.suo
index 72dd8e0..8238560 100644
Binary files a/.vs/DeleteFileFolder.git/v16/.suo and b/.vs/DeleteFileFolder.git/v16/.suo differ
diff --git a/.vs/DeleteFileFolder.git/v17/.suo b/.vs/DeleteFileFolder.git/v17/.suo
new file mode 100644
index 0000000..c99aaa9
Binary files /dev/null and b/.vs/DeleteFileFolder.git/v17/.suo differ
diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json
new file mode 100644
index 0000000..1471822
--- /dev/null
+++ b/.vs/VSWorkspaceState.json
@@ -0,0 +1,7 @@
+{
+ "ExpandedNodes": [
+ ""
+ ],
+ "SelectedNode": "\\DeleteFileFolder.git.sln",
+ "PreviewInSolutionExplorer": false
+}
\ No newline at end of file
diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite
new file mode 100644
index 0000000..8502d63
Binary files /dev/null and b/.vs/slnx.sqlite differ
diff --git a/DeleteFileFolder/DeleteFileFolder.cs b/DeleteFileFolder/DeleteFileFolder.cs
index 4ad80c6..6c9f455 100644
--- a/DeleteFileFolder/DeleteFileFolder.cs
+++ b/DeleteFileFolder/DeleteFileFolder.cs
@@ -1,543 +1,552 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace Eugen.ESystem
-{
- public class DeleteFileFolder
- {
- #region Version und Copyright
- // Version und Copyright
- static string dllName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
- static string dllVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
- static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
- static string copyright = GenerateCopyright();
- static string icon = Application.StartupPath + "\\Info.bmp";
-
- //Assembly Datum und Zeit
- static DateTime value = AssemblyDateTime();
- static string date = value.ToShortDateString();
- static string time = value.ToLongTimeString();
-
- private static DateTime AssemblyDateTime()
- {
- var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
- var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision));
- //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
- return buildDateTime;
- }
-
- private static string CurrentYear()
- {
- DateTime dtn = DateTime.Now;
- return dtn.Year.ToString();
- }
-
- private static string StartYear()
- {
- string startYear = "";
- if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
- {
- startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
- while (startYear.StartsWith(" "))
- {
- startYear = startYear.Remove(0, 1);
- }
- startYear = startYear.Remove(startYear.IndexOf(" "));
- return startYear;
- }
- else
- {
- DateTime dtn = DateTime.Now;
- return dtn.Year.ToString();
- }
- }
-
- private static string GenerateCopyright()
- {
- string startYear = StartYear();
- string currentYear = CurrentYear();
-
- if (startYear == currentYear)
- {
- return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
- }
- else
- {
- return ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear));
- }
- }
- #endregion
-
- #region DLL-Info
- ///
- /// Contains the name of the program file
- ///
- public static string DllName { set; get; }
-
- ///
- /// Contains the version of the program file
- ///
- public static string DllVersion { set; get; }
-
- ///
- /// Contains the copyright notice
- ///
- public static string Copyright { set; get; }
-
- private static void SetDllInfo()
- {
- //Name, Version und Copyright setzen
- DllName = dllName;
- DllVersion = dllVersion;
- Copyright = copyright;
- }
- #endregion
-
- ///
- /// Constructor (for DLL-Information)
- ///
- static DeleteFileFolder()
- {
- SetDllInfo();
- }
-
- ///
- /// Delete Files in a folder
- ///
- public DeleteFileFolder()
- {
- SetDllInfo();
-
- Dir = false;
- }
-
- List undeletableFiles = new List(); //Liste der unlöschbaren Dateien
-
- private long FileCounter { set; get; } //Anzahl der abgearbeiteten Dateien
- private long DirectoryCounter { set; get; } //Anzahl der abgearbeiteten Verzeichnisse
-
- private long NumberOfFiles { set; get; } //Anzahl der Dateien
- private long NumberOfDirectories { set; get; } //Anzahl der Verzeichnisse
- public long PercentDone { set; get; } //Prozent abgeschlossen
- private bool Dir { set; get; } //true = Verzeichnisse und Dateien; false = Nur Dateien
-
- ///
- /// Deletes a singel File.
- ///
- /// A valid filename with path.
- /// If the file was successfully deleted, 'null' is returned, otherwise the filename.
- public string File(string fileName)
- {
- try
- {
- FileCounter++; //Zähler hochzählen
-
- System.IO.File.SetAttributes(fileName, FileAttributes.Normal); //Attribute zurücksetzen
- System.IO.File.Delete(fileName); //Datei löschen
-
- return null; //Wenn löschen möglich war
- }
- catch (Exception)
- {
- return fileName; //Wenn löschen nicht möglich war
- }
- }
-
- ///
- /// Deletes a singel File with the declared extension.
- ///
- /// A valid filename with path.
- /// A valid file extension, e.g.: .txt
- /// If the file was successfully deleted, 'null' is returned, otherwise the filename.
- public string File(string fileName, string searchPattern)
- {
- try
- {
- if (Path.GetExtension(fileName) != searchPattern)
- {
- return null;
- }
- FileCounter++; //Zähler hochzählen
- PercentDone = 100 / NumberOfFiles * FileCounter;
-
- System.IO.File.SetAttributes(fileName, FileAttributes.Normal); //Attribute zurücksetzen
- System.IO.File.Delete(fileName); //Datei löschen
-
- return null; //Wenn löschen möglich war
- }
- catch (Exception)
- {
- return fileName; //Wenn löschen nicht möglich war
- }
- }
-
-
- ///
- /// Delete all files in a specified folder.
- ///
- /// Full path of a folder.
- /// Returns a list of all undeletable files.
- public List AllFiles(string path)
- {
- NumberOfFiles = CountFiles(path); //Anzahl der löschbaren Dateien
-
- FileCounter = 0; //Zähler zurücksetzen
- string result = ""; //Rückgabewert
-
- undeletableFiles.Clear();
-
- foreach (var file in Directory.GetFiles(path))
- {
- result = File(file); //Dateien löschen
-
- //Berechnen wie viel Prozenz bereits gelöscht sind
- if (Dir)
- {
- //Dateien und Verzeichnisse werden berücksichtigt
- PercentDone = Convert.ToInt32(100 / Convert.ToDouble(NumberOfFiles + NumberOfDirectories) * Convert.ToDouble(FileCounter + DirectoryCounter));
- }
- else
- {
- //Nur Dateien werden berücksichtigt
- PercentDone = Convert.ToInt32(100 / Convert.ToDouble(NumberOfFiles) * Convert.ToDouble(FileCounter));
- OnEvent(PercentDone);
- }
-
- if (result != null)
- {
- //Wenn ein Dateiname zurückgeliefert wird, dann in die Liste aufnehmen
- undeletableFiles.Add(result);
- }
- }
- return undeletableFiles; //Gibt die Liste der unlöschbaren Dateien zurück
- }
-
- ///
- /// Delete all files in a specified folder and subfolders.
- ///
- /// Full path of a folder.
- /// If true, then all files in all subdirectories are also deleted.
- ///
- public List AllFiles(string path, bool subFolder)
- {
- NumberOfFiles = CountFiles(path, subFolder); //Anzahl der löschbaren Dateien
-
- FileCounter = 0; //Zähler zurücksetzen
-
- undeletableFiles.Clear(); //Liste der unlöschbaren Dateien zurücksetzen
-
- //Löscht alle Dateien und gibt die Liste der unlöschbaren Dateien zurück
- return AllFilesInFolders(path, true);
- }
-
- ///
- /// Delete all files in a specified folder and subfolders with the declared extension.
- ///
- /// Full path of a folder.
- /// If true, then all files in all subdirectories are also deleted.
- /// A valid file extension, e.g.: .txt
- /// Returns a list of all undeletable files.
- public List AllFiles(string path, bool subFolder, string searchPattern)
- {
- NumberOfFiles = CountFiles(path, subFolder); //Anzahl der löschbaren Dateien
-
- FileCounter = 0; //Zähler zurücksetzen
-
- undeletableFiles.Clear(); //Liste der unlöschbaren Dateien zurücksetzen
-
- //Löscht alle Dateien und gibt die Liste der unlöschbaren Dateien zurück
- return AllFilesInFolders(path, true, searchPattern);
- }
-
-
- private List AllFilesInFolders(string path, bool subFolder)
- {
- string result = ""; //Rückgabewert
-
- foreach (var file in Directory.GetFiles(path))
- {
- result = File(file); //Dateien löschen
-
- //Berechnen wie viel Prozenz bereits gelöscht sind
- if (Dir)
- {
- //Dateien un Verzeichnisse werden berücksichtigt
- PercentDone = Convert.ToInt32(100 / Convert.ToDouble(NumberOfFiles + NumberOfDirectories) * Convert.ToDouble(FileCounter + DirectoryCounter));
- OnEvent(PercentDone);
- }
- else
- {
- //Nur Dateien werden berücksichtigt
- PercentDone = Convert.ToInt32(100 / Convert.ToDouble(NumberOfFiles) * Convert.ToDouble(FileCounter));
- OnEvent(PercentDone);
- }
-
- if (result != null)
- {
- //Wenn ein Dateiname zurückgeliefert wird, dann in die Liste aufnehmen
- undeletableFiles.Add(result);
- }
- }
- if (subFolder)
- {
- //Alle Dateien in den Unterverzeichnissen löschen
- foreach (var sFolder in Directory.GetDirectories(path))
- {
- AllFilesInFolders(sFolder, true);
- }
- }
-
- return undeletableFiles; //Gibt die Liste der unlöschbaren Dateien zurück
- }
-
- private List AllFilesInFolders(string path, bool subFolder, string searchPattern)
- {
- string result = ""; //Rückgabewert
-
- foreach (var file in Directory.GetFiles(path))
- {
- result = File(file, searchPattern); //Dateien löschen
-
- if (result != null)
- {
- //Wenn ein Dateiname zurückgeliefert wird, dann in die Liste aufnehmen
- undeletableFiles.Add(result);
- }
- }
- if (subFolder)
- {
- //Alle Dateien in den Unterverzeichnissen löschen
- foreach (var sFolder in Directory.GetDirectories(path))
- {
- AllFilesInFolders(sFolder, true, searchPattern);
- }
- }
-
- return undeletableFiles; //Gibt die Liste der unlöschbaren Dateien zurück
- }
-
-
- public string SingleDirectory(string path)
- {
- try
- {
- DirectoryCounter++; //Zähler hochzählen
-
- DirectoryInfo dirInfo = new DirectoryInfo(path);
- dirInfo.Attributes = FileAttributes.Normal;
- System.IO.Directory.Delete(path);
-
- return null; //Wenn löschen möglich war
- }
- catch (Exception)
- {
- return path; //Wenn löschen nicht möglich war
- }
- }
-
- public List AllDirectories(string path)
- {
- undeletableFiles.Clear();
-
- if (!Directory.Exists(path))
- {
- undeletableFiles.Add(path);
- return undeletableFiles;
- }
-
- Dir = true;
-
- NumberOfFiles = CountFiles(path, true); //Anzahl der löschbaren Dateien
- NumberOfDirectories = CountDirectories(path); //Anzahl der löschbaren Verzeichnsse
-
- //Alle Dateien im Verzeichnis löschen
- undeletableFiles.AddRange(AllFiles(path, true));
-
- undeletableFiles = AllSubDirectories(path); //Alle Verzeichnisse löschen
-
- string result = SingleDirectory(path);
- if (!String.IsNullOrEmpty(result))
- {
- undeletableFiles.Add(result);
- }
-
- //Berechnen wie viel Prozenz bereits gelöscht sind
- PercentDone = Convert.ToInt32(100 / Convert.ToDouble(NumberOfFiles + NumberOfDirectories) * Convert.ToDouble(FileCounter + DirectoryCounter));
- OnEvent(PercentDone);
-
- return undeletableFiles; //Gibt die Liste der unlöschbaren Dateien und Verzeichnisse zurück
- }
-
- public List AllSubDirectories(string path)
- {
- //Unterverzeichnisse löschen
- foreach (var sFolder in Directory.GetDirectories(path))
- {
- undeletableFiles.AddRange(AllSubDirectories(sFolder));
-
- SingleDirectory(sFolder);
-
- //Berechnen wie viel Prozenz bereits gelöscht sind
- PercentDone = Convert.ToInt32(100 / Convert.ToDouble(NumberOfFiles + NumberOfDirectories) * Convert.ToDouble(FileCounter + DirectoryCounter));
- OnEvent(PercentDone);
- }
-
- return undeletableFiles; //Gibt die Liste der unlöschbaren Dateien und Verzeichnisse zurück
- }
-
- ///
- /// Counts all files in a specified folder.
- ///
- /// Full path of a folder.
- /// The number of files.
- public long CountFiles(string path)
- {
- long numberOfFiles = 0; //Anzahl der löschbaren Dateien
-
- foreach (var file in Directory.GetFiles(path))
- {
- numberOfFiles++; //Zähler erhöhen
- }
-
- return numberOfFiles;
- }
-
- ///
- /// Counts all files in a specified folder and all subfolders.
- ///
- /// Full path of a folder.
- /// If true, then all files in all subdirectories are also counted.
- /// The number of files.
- public long CountFiles(string path, bool subFolder)
- {
- if (!Directory.Exists(path))
- {
- return 0; //Wenn das Verzeichnis nicht existiert, dann 0 zurückgeben
- }
-
- NumberOfFiles = 0; //Zähler zurücksetzen
-
- NumberOfFiles = CountAllFiles(path, subFolder); //Die Zählfunktion aufrufen
- return NumberOfFiles;
- }
-
- ///
- /// Counts all files in a specified folder and subfolder with the declared extension.
- ///
- /// Full path of a folder.
- /// If true, then all files in all subdirectories are also counted.
- /// A valid file extension, e.g.: .txt
- /// The number of files.
- private long CountFile(string path, bool subFolder, string searchPattern)
- {
- long numberOfFiles = 0; //Anzahl der löschbaren Dateien
-
- foreach (var file in Directory.GetFiles(path))
- {
- if (Path.GetExtension(file) == searchPattern)
- {
- numberOfFiles++; //Zähler erhöhen
- }
- }
- if (subFolder)
- {
- foreach (var sFolder in Directory.GetDirectories(path))
- {
- CountFile(sFolder, true, searchPattern);
- }
- }
-
- return numberOfFiles;
- }
-
- private long CountAllFiles(string path, bool subFolder)
- {
- foreach (var file in Directory.GetFiles(path))
- {
- NumberOfFiles++; //Zähler erhöhen
- }
- if (subFolder)
- {
- foreach (var sFolder in Directory.GetDirectories(path))
- {
- CountAllFiles(sFolder, true); //Rekursiver Aufruf
- }
- }
-
- return NumberOfFiles;
- }
-
- private long CountAllFiles(string path, bool subFolder, string searchPattern)
- {
- foreach (var file in Directory.GetFiles(path))
- {
- if (Path.GetExtension(file) == searchPattern)
- {
- NumberOfFiles++; //Zähler erhöhen
- }
- }
- if (subFolder)
- {
- foreach (var sFolder in Directory.GetDirectories(path))
- {
- CountAllFiles(sFolder, true, searchPattern); //Rekursiver Aufruf
- }
- }
-
- return NumberOfFiles;
- }
-
- ///
- /// Counts all directoreis in a specified folder and all subfolders.
- ///
- /// Full path of a folder.
- /// The number of directories.
- public long CountDirectories(string path)
- {
- if (!Directory.Exists(path))
- {
- return 0; //Wenn das Verzeichnis nicht existiert, dann 0 zurückgeben
- }
-
- NumberOfDirectories = 0; //Zähler zurücksetzen
-
- NumberOfDirectories = CountAllDirectories(path) + 1; //Für das Root-Verzeichnis 1 dazu zählen
- return NumberOfDirectories;
- }
-
- private long CountAllDirectories(string path)
- {
- //Rekursive Aufruf
- foreach (var sFolder in Directory.GetDirectories(path))
- {
- CountAllDirectories(sFolder);
- NumberOfDirectories++;
- }
-
- return NumberOfDirectories;
- }
-
- #region Event Handler
- // Der Delegat muß die gleiche Signatur aufweisen wie die Eventhandler-Methode.
- public delegate void EventDelegate(long result);
-
- // Das Event-Objekt ist vom Typ dieses Delegaten.
- public event EventDelegate MyEvent;
-
- public void OnEvent(long result)
- {
- // Prüft ob das Event überhaupt einen Abonnenten hat.
- if (MyEvent != null)
- {
- MyEvent(result);
- }
- }
- #endregion
- }
-}
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace Eugen.ESystem
+{
+ public class DeleteFileFolder
+ {
+ #region Version und Copyright
+ // Version und Copyright
+ static string dllName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
+ static string dllVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
+ static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
+ static string copyright = GenerateCopyright();
+ static string icon = Application.StartupPath + "\\Info.bmp";
+
+ //Assembly Datum und Zeit
+ static DateTime value = AssemblyDateTime();
+ static string date = value.ToShortDateString();
+ static string time = value.ToLongTimeString();
+
+ private static DateTime AssemblyDateTime()
+ {
+ var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
+ var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision));
+ //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
+ return buildDateTime;
+ }
+
+ private static string CurrentYear()
+ {
+ DateTime dtn = DateTime.Now;
+ return dtn.Year.ToString();
+ }
+
+ private static string StartYear()
+ {
+ string startYear = "";
+ if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
+ {
+ startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
+ while (startYear.StartsWith(" "))
+ {
+ startYear = startYear.Remove(0, 1);
+ }
+ startYear = startYear.Remove(startYear.IndexOf(" "));
+ return startYear;
+ }
+ else
+ {
+ DateTime dtn = DateTime.Now;
+ return dtn.Year.ToString();
+ }
+ }
+
+ private static string GenerateCopyright()
+ {
+ string startYear = StartYear();
+ string currentYear = CurrentYear();
+
+ if (startYear == currentYear)
+ {
+ return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
+ }
+ else
+ {
+ return ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear));
+ }
+ }
+ #endregion
+
+ #region DLL-Info
+ ///
+ /// Contains the name of the program file
+ ///
+ public static string DllName { set; get; }
+
+ ///
+ /// Contains the version of the program file
+ ///
+ public static string DllVersion { set; get; }
+
+ ///
+ /// Contains the copyright notice
+ ///
+ public static string Copyright { set; get; }
+
+ private static void SetDllInfo()
+ {
+ //Name, Version und Copyright setzen
+ DllName = dllName;
+ DllVersion = dllVersion;
+ Copyright = copyright;
+ }
+ #endregion
+
+ ///
+ /// Constructor (for DLL-Information)
+ ///
+ static DeleteFileFolder()
+ {
+ SetDllInfo();
+ }
+
+ ///
+ /// Delete Files in a folder
+ ///
+ public DeleteFileFolder()
+ {
+ SetDllInfo();
+
+ Dir = false;
+ }
+
+ public List undeletableFiles = new List(); //Liste der unlöschbaren Dateien
+ public List undeletableDirectories = new List(); //Liste der unlöschbaren Verzeichnisse
+
+ private long FileCounter { set; get; } //Anzahl der abgearbeiteten Dateien
+ private long DirectoryCounter { set; get; } //Anzahl der abgearbeiteten Verzeichnisse
+
+ private long NumberOfFiles { set; get; } //Anzahl der Dateien
+ private long NumberOfDirectories { set; get; } //Anzahl der Verzeichnisse
+ public long PercentDone { set; get; } //Prozent abgeschlossen
+ private bool Dir { set; get; } //true = Verzeichnisse und Dateien; false = Nur Dateien
+
+ ///
+ /// Deletes a singel File.
+ ///
+ /// A valid filename with path.
+ /// If the file was successfully deleted, 'null' is returned, otherwise the filename.
+ public string File(string fileName)
+ {
+ try
+ {
+ FileCounter++; //Zähler hochzählen
+
+ System.IO.File.SetAttributes(fileName, FileAttributes.Normal); //Attribute zurücksetzen
+ System.IO.File.Delete(fileName); //Datei löschen
+
+ return null; //Wenn löschen möglich war
+ }
+ catch (Exception)
+ {
+ return fileName; //Wenn löschen nicht möglich war
+ }
+ }
+
+ ///
+ /// Deletes a singel File with the declared extension.
+ ///
+ /// A valid filename with path.
+ /// A valid file extension, e.g.: .txt
+ /// If the file was successfully deleted, 'null' is returned, otherwise the filename.
+ public string File(string fileName, string searchPattern)
+ {
+ try
+ {
+ if (Path.GetExtension(fileName) != searchPattern)
+ {
+ return null;
+ }
+ FileCounter++; //Zähler hochzählen
+ PercentDone = 100 / NumberOfFiles * FileCounter;
+
+ System.IO.File.SetAttributes(fileName, FileAttributes.Normal); //Attribute zurücksetzen
+ System.IO.File.Delete(fileName); //Datei löschen
+
+ return null; //Wenn löschen möglich war
+ }
+ catch (Exception)
+ {
+ return fileName; //Wenn löschen nicht möglich war
+ }
+ }
+
+ ///
+ /// Delete all files in a specified folder.
+ ///
+ /// Full path of a folder.
+ /// Returns a list of all undeletable files.
+ public List AllFiles(string path)
+ {
+ NumberOfFiles = CountFiles(path); //Anzahl der löschbaren Dateien
+
+ FileCounter = 0; //Zähler zurücksetzen
+ string result = ""; //Rückgabewert
+
+ undeletableFiles.Clear();
+
+ foreach (var file in Directory.GetFiles(path))
+ {
+ result = File(file); //Dateien löschen
+
+ //Berechnen wie viel Prozenz bereits gelöscht sind
+ if (Dir)
+ {
+ //Dateien und Verzeichnisse werden berücksichtigt
+ PercentDone = Convert.ToInt32(100 / Convert.ToDouble(NumberOfFiles + NumberOfDirectories) * Convert.ToDouble(FileCounter + DirectoryCounter));
+ }
+ else
+ {
+ //Nur Dateien werden berücksichtigt
+ PercentDone = Convert.ToInt32(100 / Convert.ToDouble(NumberOfFiles) * Convert.ToDouble(FileCounter));
+ OnEvent(PercentDone);
+ }
+
+ if (result != null)
+ {
+ //Wenn ein Dateiname zurückgeliefert wird, dann in die Liste aufnehmen
+ undeletableFiles.Add(result);
+ }
+ }
+ return undeletableFiles; //Gibt die Liste der unlöschbaren Dateien zurück
+ }
+
+ ///
+ /// Delete all files in a specified folder and subfolders.
+ ///
+ /// Full path of a folder.
+ /// If true, then all files in all subdirectories are also deleted.
+ ///
+ public List AllFiles(string path, bool subFolder)
+ {
+ NumberOfFiles = CountFiles(path, subFolder); //Anzahl der löschbaren Dateien
+
+ FileCounter = 0; //Zähler zurücksetzen
+
+ undeletableFiles.Clear(); //Liste der unlöschbaren Dateien zurücksetzen
+
+ //Löscht alle Dateien und gibt die Liste der unlöschbaren Dateien zurück
+ return AllFilesInFolders(path, true);
+ }
+
+ ///
+ /// Delete all files in a specified folder and subfolders with the declared extension.
+ ///
+ /// Full path of a folder.
+ /// If true, then all files in all subdirectories are also deleted.
+ /// A valid file extension, e.g.: .txt
+ /// Returns a list of all undeletable files.
+ public List AllFiles(string path, bool subFolder, string searchPattern)
+ {
+ NumberOfFiles = CountFiles(path, subFolder); //Anzahl der löschbaren Dateien
+
+ FileCounter = 0; //Zähler zurücksetzen
+
+ undeletableFiles.Clear(); //Liste der unlöschbaren Dateien zurücksetzen
+
+ //Löscht alle Dateien und gibt die Liste der unlöschbaren Dateien zurück
+ return AllFilesInFolders(path, true, searchPattern);
+ }
+
+ private List AllFilesInFolders(string path, bool subFolder)
+ {
+ string result = ""; //Rückgabewert
+
+ foreach (var file in Directory.GetFiles(path))
+ {
+ result = File(file); //Dateien löschen
+
+ //Berechnen wie viel Prozenz bereits gelöscht sind
+ if (Dir)
+ {
+ //Dateien un Verzeichnisse werden berücksichtigt
+ PercentDone = Convert.ToInt32(100 / Convert.ToDouble(NumberOfFiles + NumberOfDirectories) * Convert.ToDouble(FileCounter + DirectoryCounter));
+ OnEvent(PercentDone);
+ }
+ else
+ {
+ //Nur Dateien werden berücksichtigt
+ PercentDone = Convert.ToInt32(100 / Convert.ToDouble(NumberOfFiles) * Convert.ToDouble(FileCounter));
+ OnEvent(PercentDone);
+ }
+
+ if (result != null)
+ {
+ //Wenn ein Dateiname zurückgeliefert wird, dann in die Liste aufnehmen
+ undeletableFiles.Add(result);
+ }
+ }
+ if (subFolder)
+ {
+ //Alle Dateien in den Unterverzeichnissen löschen
+ foreach (var sFolder in Directory.GetDirectories(path))
+ {
+ AllFilesInFolders(sFolder, true);
+ }
+ }
+
+ return undeletableFiles; //Gibt die Liste der unlöschbaren Dateien zurück
+ }
+
+ private List AllFilesInFolders(string path, bool subFolder, string searchPattern)
+ {
+ string result = ""; //Rückgabewert
+
+ foreach (var file in Directory.GetFiles(path))
+ {
+ result = File(file, searchPattern); //Dateien löschen
+
+ if (result != null)
+ {
+ //Wenn ein Dateiname zurückgeliefert wird, dann in die Liste aufnehmen
+ undeletableFiles.Add(result);
+ }
+ }
+ if (subFolder)
+ {
+ //Alle Dateien in den Unterverzeichnissen löschen
+ foreach (var sFolder in Directory.GetDirectories(path))
+ {
+ AllFilesInFolders(sFolder, true, searchPattern);
+ }
+ }
+
+ return undeletableFiles; //Gibt die Liste der unlöschbaren Dateien zurück
+ }
+
+
+ public string SingleDirectory(string path)
+ {
+ try
+ {
+ DirectoryCounter++; //Zähler hochzählen
+
+ DirectoryInfo dirInfo = new DirectoryInfo(path);
+ dirInfo.Attributes = FileAttributes.Normal;
+ System.IO.Directory.Delete(path);
+
+ return null; //Wenn löschen möglich war
+ }
+ catch (Exception)
+ {
+ return path; //Wenn löschen nicht möglich war
+ }
+ }
+
+ public List> AllDirectories(string path)
+ {
+ //object[] undeleteableFilesFolders = new object[2];
+ List> undeleteableFilesFolders = new List>();
+
+ undeletableFiles.Clear();
+ undeletableDirectories.Clear();
+
+ if (!Directory.Exists(path))
+ {
+ undeletableDirectories.Add(path);
+
+ undeleteableFilesFolders[0] = undeletableFiles;
+ undeleteableFilesFolders[1] = undeletableDirectories;
+
+ return undeleteableFilesFolders;
+ }
+
+ Dir = true;
+
+ NumberOfFiles = CountFiles(path, true); //Anzahl der löschbaren Dateien
+ NumberOfDirectories = CountDirectories(path); //Anzahl der löschbaren Verzeichnsse
+
+ //Alle Dateien im Verzeichnis löschen
+ undeletableFiles.AddRange(AllFiles(path, true));
+
+ undeletableDirectories = AllSubDirectories(path); //Alle Verzeichnisse löschen
+
+ string result = SingleDirectory(path);
+ if (!String.IsNullOrEmpty(result))
+ {
+ undeletableFiles.Add(result);
+ }
+
+ //Berechnen wie viel Prozenz bereits gelöscht sind
+ PercentDone = Convert.ToInt32(100 / Convert.ToDouble(NumberOfFiles + NumberOfDirectories) * Convert.ToDouble(FileCounter + DirectoryCounter));
+ OnEvent(PercentDone);
+
+ undeleteableFilesFolders.Add(undeletableFiles);
+ undeleteableFilesFolders.Add(undeletableDirectories);
+ return undeleteableFilesFolders; //Gibt die Liste der unlöschbaren Dateien und Verzeichnisse zurück
+ }
+
+ public List AllSubDirectories(string path)
+ {
+ //Unterverzeichnisse löschen
+ foreach (var sFolder in Directory.GetDirectories(path))
+ {
+ undeletableFiles.AddRange(AllSubDirectories(sFolder));
+
+ SingleDirectory(sFolder);
+
+ //Berechnen wie viel Prozenz bereits gelöscht sind
+ PercentDone = Convert.ToInt32(100 / Convert.ToDouble(NumberOfFiles + NumberOfDirectories) * Convert.ToDouble(FileCounter + DirectoryCounter));
+ OnEvent(PercentDone);
+ }
+
+ return undeletableFiles; //Gibt die Liste der unlöschbaren Dateien und Verzeichnisse zurück
+ }
+
+ ///
+ /// Counts all files in a specified folder.
+ ///
+ /// Full path of a folder.
+ /// The number of files.
+ public long CountFiles(string path)
+ {
+ long numberOfFiles = 0; //Anzahl der löschbaren Dateien
+
+ foreach (var file in Directory.GetFiles(path))
+ {
+ numberOfFiles++; //Zähler erhöhen
+ }
+
+ return numberOfFiles;
+ }
+
+ ///
+ /// Counts all files in a specified folder and all subfolders.
+ ///
+ /// Full path of a folder.
+ /// If true, then all files in all subdirectories are also counted.
+ /// The number of files.
+ public long CountFiles(string path, bool subFolder)
+ {
+ if (!Directory.Exists(path))
+ {
+ return 0; //Wenn das Verzeichnis nicht existiert, dann 0 zurückgeben
+ }
+
+ NumberOfFiles = 0; //Zähler zurücksetzen
+
+ NumberOfFiles = CountAllFiles(path, subFolder); //Die Zählfunktion aufrufen
+ return NumberOfFiles;
+ }
+
+ ///
+ /// Counts all files in a specified folder and subfolder with the declared extension.
+ ///
+ /// Full path of a folder.
+ /// If true, then all files in all subdirectories are also counted.
+ /// A valid file extension, e.g.: .txt
+ /// The number of files.
+ private long CountFile(string path, bool subFolder, string searchPattern)
+ {
+ long numberOfFiles = 0; //Anzahl der löschbaren Dateien
+
+ foreach (var file in Directory.GetFiles(path))
+ {
+ if (Path.GetExtension(file) == searchPattern)
+ {
+ numberOfFiles++; //Zähler erhöhen
+ }
+ }
+ if (subFolder)
+ {
+ foreach (var sFolder in Directory.GetDirectories(path))
+ {
+ CountFile(sFolder, true, searchPattern);
+ }
+ }
+
+ return numberOfFiles;
+ }
+
+ private long CountAllFiles(string path, bool subFolder)
+ {
+ foreach (var file in Directory.GetFiles(path))
+ {
+ NumberOfFiles++; //Zähler erhöhen
+ }
+ if (subFolder)
+ {
+ foreach (var sFolder in Directory.GetDirectories(path))
+ {
+ CountAllFiles(sFolder, true); //Rekursiver Aufruf
+ }
+ }
+
+ return NumberOfFiles;
+ }
+
+ private long CountAllFiles(string path, bool subFolder, string searchPattern)
+ {
+ foreach (var file in Directory.GetFiles(path))
+ {
+ if (Path.GetExtension(file) == searchPattern)
+ {
+ NumberOfFiles++; //Zähler erhöhen
+ }
+ }
+ if (subFolder)
+ {
+ foreach (var sFolder in Directory.GetDirectories(path))
+ {
+ CountAllFiles(sFolder, true, searchPattern); //Rekursiver Aufruf
+ }
+ }
+
+ return NumberOfFiles;
+ }
+
+ ///
+ /// Counts all directoreis in a specified folder and all subfolders.
+ ///
+ /// Full path of a folder.
+ /// The number of directories.
+ public long CountDirectories(string path)
+ {
+ if (!Directory.Exists(path))
+ {
+ return 0; //Wenn das Verzeichnis nicht existiert, dann 0 zurückgeben
+ }
+
+ NumberOfDirectories = 0; //Zähler zurücksetzen
+
+ NumberOfDirectories = CountAllDirectories(path) + 1; //Für das Root-Verzeichnis 1 dazu zählen
+ return NumberOfDirectories;
+ }
+
+ private long CountAllDirectories(string path)
+ {
+ //Rekursive Aufruf
+ foreach (var sFolder in Directory.GetDirectories(path))
+ {
+ CountAllDirectories(sFolder);
+ NumberOfDirectories++;
+ }
+
+ return NumberOfDirectories;
+ }
+
+ #region Event Handler
+ // Der Delegat muß die gleiche Signatur aufweisen wie die Eventhandler-Methode.
+ public delegate void EventDelegate(long result);
+
+ // Das Event-Objekt ist vom Typ dieses Delegaten.
+ public event EventDelegate MyEvent;
+
+ public void OnEvent(long result)
+ {
+ // Prüft ob das Event überhaupt einen Abonnenten hat.
+ if (MyEvent != null)
+ {
+ MyEvent(result);
+ }
+ }
+ #endregion
+ }
+}
diff --git a/DeleteFileFolder/bin/Debug/hedff.dll b/DeleteFileFolder/bin/Debug/hedff.dll
index 4ecf314..157362b 100644
Binary files a/DeleteFileFolder/bin/Debug/hedff.dll and b/DeleteFileFolder/bin/Debug/hedff.dll differ
diff --git a/DeleteFileFolder/bin/Debug/hedff.pdb b/DeleteFileFolder/bin/Debug/hedff.pdb
index a2424a0..da1c295 100644
Binary files a/DeleteFileFolder/bin/Debug/hedff.pdb and b/DeleteFileFolder/bin/Debug/hedff.pdb differ
diff --git a/DeleteFileFolder/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/DeleteFileFolder/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
index 3871b18..057ed7f 100644
--- a/DeleteFileFolder/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
+++ b/DeleteFileFolder/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
@@ -1,4 +1,4 @@
-//
-using System;
-using System.Reflection;
-[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
diff --git a/DeleteFileFolder/obj/Debug/DeleteFileFolder.csproj.AssemblyReference.cache b/DeleteFileFolder/obj/Debug/DeleteFileFolder.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..6227aa3
Binary files /dev/null and b/DeleteFileFolder/obj/Debug/DeleteFileFolder.csproj.AssemblyReference.cache differ
diff --git a/DeleteFileFolder/obj/Debug/DeleteFileFolder.csproj.CoreCompileInputs.cache b/DeleteFileFolder/obj/Debug/DeleteFileFolder.csproj.CoreCompileInputs.cache
index d52ad46..53c0b24 100644
--- a/DeleteFileFolder/obj/Debug/DeleteFileFolder.csproj.CoreCompileInputs.cache
+++ b/DeleteFileFolder/obj/Debug/DeleteFileFolder.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-99ea030e883342fe107d375c9fe986f9d159745f
+99ea030e883342fe107d375c9fe986f9d159745f
diff --git a/DeleteFileFolder/obj/Debug/DeleteFileFolder.csproj.FileListAbsolute.txt b/DeleteFileFolder/obj/Debug/DeleteFileFolder.csproj.FileListAbsolute.txt
index e28f36e..30f1e25 100644
--- a/DeleteFileFolder/obj/Debug/DeleteFileFolder.csproj.FileListAbsolute.txt
+++ b/DeleteFileFolder/obj/Debug/DeleteFileFolder.csproj.FileListAbsolute.txt
@@ -1,11 +1,12 @@
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\DeleteFileFolder\bin\Debug\DeleteFileFolder.dll
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\DeleteFileFolder\bin\Debug\DeleteFileFolder.pdb
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\DeleteFileFolder.csprojAssemblyReference.cache
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\DeleteFileFolder.csproj.CoreCompileInputs.cache
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\DeleteFileFolder.dll
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\DeleteFileFolder.pdb
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\DeleteFileFolder\bin\Debug\hedff.dll
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\DeleteFileFolder\bin\Debug\hedff.pdb
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\DeleteFileFolder.csproj.CoreCompileInputs.cache
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\hedff.dll
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\hedff.pdb
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\DeleteFileFolder\bin\Debug\DeleteFileFolder.dll
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\DeleteFileFolder\bin\Debug\DeleteFileFolder.pdb
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\DeleteFileFolder.csprojAssemblyReference.cache
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\DeleteFileFolder.csproj.CoreCompileInputs.cache
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\DeleteFileFolder.dll
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\DeleteFileFolder.pdb
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\DeleteFileFolder\bin\Debug\hedff.dll
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\DeleteFileFolder\bin\Debug\hedff.pdb
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\DeleteFileFolder.csproj.CoreCompileInputs.cache
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\hedff.dll
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\hedff.pdb
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\DeleteFileFolder\obj\Debug\DeleteFileFolder.csproj.AssemblyReference.cache
diff --git a/DeleteFileFolder/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/DeleteFileFolder/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index b754436..68c56ff 100644
Binary files a/DeleteFileFolder/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/DeleteFileFolder/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/DeleteFileFolder/obj/Debug/hedff.dll b/DeleteFileFolder/obj/Debug/hedff.dll
index 4ecf314..157362b 100644
Binary files a/DeleteFileFolder/obj/Debug/hedff.dll and b/DeleteFileFolder/obj/Debug/hedff.dll differ
diff --git a/DeleteFileFolder/obj/Debug/hedff.pdb b/DeleteFileFolder/obj/Debug/hedff.pdb
index a2424a0..da1c295 100644
Binary files a/DeleteFileFolder/obj/Debug/hedff.pdb and b/DeleteFileFolder/obj/Debug/hedff.pdb differ
diff --git a/DeleteFileFolder/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/DeleteFileFolder/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
new file mode 100644
index 0000000..057ed7f
--- /dev/null
+++ b/DeleteFileFolder/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
diff --git a/Test_DeleteFileFolder/Form1.cs b/Test_DeleteFileFolder/Form1.cs
index a28263b..429373b 100644
--- a/Test_DeleteFileFolder/Form1.cs
+++ b/Test_DeleteFileFolder/Form1.cs
@@ -1,236 +1,245 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-using Eugen.ESystem;
-
-namespace Test_DeleteFileFolder
-{
- public partial class Form1 : Form
- {
- #region Version und Copyright
- // Version und Copyright
- string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
- string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
- static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
- string copyright = GenerateCopyright();
- string icon = Application.StartupPath + "\\Info.bmp";
- //Assembly Datum und Zeit
- static DateTime value = AssemblyDateTime();
- string date = value.ToShortDateString();
- string time = value.ToLongTimeString();
- private static DateTime AssemblyDateTime()
- {
- var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
- var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision));
- //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
- return buildDateTime;
- }
-
- private static string CurrentYear()
- {
- DateTime dtn = DateTime.Now;
- return dtn.Year.ToString();
- }
-
- private static string StartYear()
- {
- //string startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
- //return startYear.Remove(0, startYear.LastIndexOf(" ") + 1);
- string startYear = "";
- if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
- {
- startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
- while (startYear.StartsWith(" "))
- {
- startYear = startYear.Remove(0, 1);
- }
- startYear = startYear.Remove(startYear.IndexOf(" "));
- return startYear;
- }
- else
- {
- DateTime dtn = DateTime.Now;
- return dtn.Year.ToString();
- }
- }
-
- private static string GenerateCopyright()
- {
- string startYear = StartYear();
- string currentYear = CurrentYear();
-
- if (startYear == currentYear)
- {
- return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
- }
- else
- {
- //return String.Concat(((AssemblyCopyrightAttribute)attributes[0]).Copyright, "-", currentYear);
- return ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear));
- }
- }
- #endregion
-
- #region Programm-Info
- ///
- /// Contains the name of the program file
- ///
- public static string ProgramName { set; get; }
-
- ///
- /// Contains the version of the program file
- ///
- public static string ProgramVersion { set; get; }
-
- ///
- /// Contains the copyright notice
- ///
- public static string Copyright { set; get; }
-
- private void SetProgramInfo()
- {
- //Name, Version und Copyright setzen
- ProgramName = programName;
- ProgramVersion = programVersion;
- Copyright = copyright;
- }
- #endregion
-
- public Form1()
- {
- SetProgramInfo();
- InitializeComponent();
- }
-
- string fileName = "";
- bool allFiles = false;
- bool folders = false;
- bool subFolders = false;
- bool countOnly = false;
-
- private void buttonCancel_Click(object sender, EventArgs e)
- {
- this.Close();
- }
-
- private void buttonDelete_Click(object sender, EventArgs e)
- {
- string undeletableFile = "";
- List undeletableFiles = new List();
- string message = "";
-
- //In diesem Bereich wird das Löschen ausgeführt ---------------------
- DeleteFileFolder Del = new DeleteFileFolder();
- // Hier wird das Event abonniert.
- // Das kann jede Klasse auf die gleiche Weise machen.
- Del.MyEvent += new DeleteFileFolder.EventDelegate(EventHandler);
-
- if (checkBoxCountOnly.Checked)
- {
- labelDeletableFiles.Text = "Number of deletable Files: " + Del.CountFiles(textBoxFileName.Text, checkBoxSubdirectories.Checked);
- labelDeletableDirectories.Text = "Number of deletable Directories: \t" + Del.CountDirectories(textBoxFileName.Text);
- }
- else
- {
- if (radioButtonFileOnly.Checked)
- {
- //Dateien löschen
- if (radioButtonSingleFile.Checked)
- {
- undeletableFile = Del.File(textBoxFileName.Text); //Eine einzelen Datei löschen
- progressBar.Value = 100;
- }
- else
- {
- if (!checkBoxSubdirectories.Checked)
- {
- undeletableFiles = Del.AllFiles(textBoxFileName.Text); //Alle Dateien eines Verzeichnisses löschen
- }
- else
- {
- undeletableFiles = Del.AllFiles(textBoxFileName.Text, true); //Alle Dateien eines Verzeichnisses und aller Unterverzeichnisse löschen
- }
- }
- }
- else
- {
- undeletableFiles = Del.AllDirectories(textBoxFileName.Text);
- }
- }
-
- //Nicht löschbare Dateien und Verzeichnisse anzeigen
- if (undeletableFiles != null & undeletableFiles.Any())
- {
- message = "Undeleteable elements:\n";
-
- foreach (var element in undeletableFiles)
- {
- message += element + "\n";
- }
- MessageBox.Show(message);
- }
- }
-
- private void textBoxFileName_TextChanged(object sender, EventArgs e)
- {
- ClearProgressBar();
- fileName = textBoxFileName.Text;
- }
-
- private void radioButtonDirectory_CheckedChanged(object sender, EventArgs e)
- {
- ClearProgressBar();
- }
-
- private void radioButtonFileOnly_CheckedChanged(object sender, EventArgs e)
- {
- ClearProgressBar();
- }
-
- private void radioButtonSingleFile_CheckedChanged(object sender, EventArgs e)
- {
- ClearProgressBar();
- }
-
- private void radioButtonAllFiles_CheckedChanged(object sender, EventArgs e)
- {
- ClearProgressBar();
- }
-
- private void checkBoxSubdirectories_CheckedChanged(object sender, EventArgs e)
- {
- ClearProgressBar();
- subFolders = !subFolders;
- }
-
- private void checkBoxCountOnly_CheckedChanged(object sender, EventArgs e)
- {
- ClearProgressBar();
- countOnly = !countOnly;
- }
-
- private void ClearProgressBar()
- {
- //Setzt die Progressbar auf 0% zurück
- progressBar.Value = 0;
- progressBar.Refresh();
- }
-
- #region Event Handler
- void EventHandler(long value)
- {
- //Die ProgressBar updaten
- progressBar.Value = Convert.ToInt32(value);
- progressBar.Refresh();
- }
- #endregion
- }
-}
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using Eugen.ESystem;
+
+namespace Test_DeleteFileFolder
+{
+ public partial class Form1 : Form
+ {
+ #region Version und Copyright
+ // Version und Copyright
+ string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
+ string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
+ static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
+ string copyright = GenerateCopyright();
+ string icon = Application.StartupPath + "\\Info.bmp";
+ //Assembly Datum und Zeit
+ static DateTime value = AssemblyDateTime();
+ string date = value.ToShortDateString();
+ string time = value.ToLongTimeString();
+ private static DateTime AssemblyDateTime()
+ {
+ var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
+ var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision));
+ //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
+ return buildDateTime;
+ }
+
+ private static string CurrentYear()
+ {
+ DateTime dtn = DateTime.Now;
+ return dtn.Year.ToString();
+ }
+
+ private static string StartYear()
+ {
+ //string startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
+ //return startYear.Remove(0, startYear.LastIndexOf(" ") + 1);
+ string startYear = "";
+ if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
+ {
+ startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
+ while (startYear.StartsWith(" "))
+ {
+ startYear = startYear.Remove(0, 1);
+ }
+ startYear = startYear.Remove(startYear.IndexOf(" "));
+ return startYear;
+ }
+ else
+ {
+ DateTime dtn = DateTime.Now;
+ return dtn.Year.ToString();
+ }
+ }
+
+ private static string GenerateCopyright()
+ {
+ string startYear = StartYear();
+ string currentYear = CurrentYear();
+
+ if (startYear == currentYear)
+ {
+ return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
+ }
+ else
+ {
+ //return String.Concat(((AssemblyCopyrightAttribute)attributes[0]).Copyright, "-", currentYear);
+ return ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear));
+ }
+ }
+ #endregion
+
+ #region Programm-Info
+ ///
+ /// Contains the name of the program file
+ ///
+ public static string ProgramName { set; get; }
+
+ ///
+ /// Contains the version of the program file
+ ///
+ public static string ProgramVersion { set; get; }
+
+ ///
+ /// Contains the copyright notice
+ ///
+ public static string Copyright { set; get; }
+
+ private void SetProgramInfo()
+ {
+ //Name, Version und Copyright setzen
+ ProgramName = programName;
+ ProgramVersion = programVersion;
+ Copyright = copyright;
+ }
+ #endregion
+
+ public Form1()
+ {
+ SetProgramInfo();
+ InitializeComponent();
+ }
+
+ string fileName = "";
+ bool subFolders = false;
+ bool countOnly = false;
+
+ private void buttonCancel_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ private void buttonDelete_Click(object sender, EventArgs e)
+ {
+ //string undeletableElements = "";
+ string undeletableFile = "";
+ List undeletableFiles = new List();
+ List undeletableFolders = new List();
+ List> undeleteableFilesFolders = new List>();
+ string message = "";
+
+ //In diesem Bereich wird das Löschen ausgeführt ---------------------
+ DeleteFileFolder Del = new DeleteFileFolder();
+ // Hier wird das Event abonniert.
+ // Das kann jede Klasse auf die gleiche Weise machen.
+ Del.MyEvent += new DeleteFileFolder.EventDelegate(EventHandler);
+
+ if (checkBoxCountOnly.Checked)
+ {
+ labelDeletableFiles.Text = "Number of deletable Files: " + Del.CountFiles(textBoxFileName.Text, checkBoxSubdirectories.Checked);
+ labelDeletableDirectories.Text = "Number of deletable Directories: \t" + Del.CountDirectories(textBoxFileName.Text);
+ }
+ else
+ {
+ if (radioButtonFileOnly.Checked)
+ {
+ //Dateien löschen
+ if (radioButtonSingleFile.Checked)
+ {
+ undeletableFile = Del.File(textBoxFileName.Text); //Eine einzelen Datei löschen
+ progressBar.Value = 100;
+ }
+ else
+ {
+ if (!checkBoxSubdirectories.Checked)
+ {
+ undeletableFiles = Del.AllFiles(textBoxFileName.Text); //Alle Dateien eines Verzeichnisses löschen
+ }
+ else
+ {
+ undeletableFiles = Del.AllFiles(textBoxFileName.Text, true); //Alle Dateien eines Verzeichnisses und aller Unterverzeichnisse löschen
+ }
+ }
+ }
+ else
+ {
+ undeleteableFilesFolders = Del.AllDirectories(textBoxFileName.Text); //Alle Verzeichnisse löschen
+ }
+ }
+
+ //Nicht löschbare Dateien und Verzeichnisse anzeigen
+ if (undeleteableFilesFolders != null & undeletableFiles.Any())
+ {
+ message = "Undeleteable elements:\n";
+
+ foreach (var item in undeleteableFilesFolders)
+ {
+ foreach (var element in item)
+ {
+ message += element + "\n";
+ }
+ }
+
+ //foreach (var element in undeletableFiles)
+ //{
+ // message += element + "\n";
+ //}
+ MessageBox.Show(message);
+ }
+ }
+
+ private void textBoxFileName_TextChanged(object sender, EventArgs e)
+ {
+ ClearProgressBar();
+ fileName = textBoxFileName.Text;
+ }
+
+ private void radioButtonDirectory_CheckedChanged(object sender, EventArgs e)
+ {
+ ClearProgressBar();
+ }
+
+ private void radioButtonFileOnly_CheckedChanged(object sender, EventArgs e)
+ {
+ ClearProgressBar();
+ }
+
+ private void radioButtonSingleFile_CheckedChanged(object sender, EventArgs e)
+ {
+ ClearProgressBar();
+ }
+
+ private void radioButtonAllFiles_CheckedChanged(object sender, EventArgs e)
+ {
+ ClearProgressBar();
+ }
+
+ private void checkBoxSubdirectories_CheckedChanged(object sender, EventArgs e)
+ {
+ ClearProgressBar();
+ subFolders = !subFolders;
+ }
+
+ private void checkBoxCountOnly_CheckedChanged(object sender, EventArgs e)
+ {
+ ClearProgressBar();
+ countOnly = !countOnly;
+ }
+
+ private void ClearProgressBar()
+ {
+ //Setzt die Progressbar auf 0% zurück
+ progressBar.Value = 0;
+ progressBar.Refresh();
+ }
+
+ #region Event Handler
+ void EventHandler(long value)
+ {
+ //Die ProgressBar updaten
+ progressBar.Value = Convert.ToInt32(value);
+ progressBar.Refresh();
+ }
+ #endregion
+ }
+}
diff --git a/Test_DeleteFileFolder/bin/Debug/Test_DeleteFileFolder.exe b/Test_DeleteFileFolder/bin/Debug/Test_DeleteFileFolder.exe
index c01369f..e425ab3 100644
Binary files a/Test_DeleteFileFolder/bin/Debug/Test_DeleteFileFolder.exe and b/Test_DeleteFileFolder/bin/Debug/Test_DeleteFileFolder.exe differ
diff --git a/Test_DeleteFileFolder/bin/Debug/Test_DeleteFileFolder.pdb b/Test_DeleteFileFolder/bin/Debug/Test_DeleteFileFolder.pdb
index 9880711..65b5ae3 100644
Binary files a/Test_DeleteFileFolder/bin/Debug/Test_DeleteFileFolder.pdb and b/Test_DeleteFileFolder/bin/Debug/Test_DeleteFileFolder.pdb differ
diff --git a/Test_DeleteFileFolder/bin/Debug/hedff.dll b/Test_DeleteFileFolder/bin/Debug/hedff.dll
index 4ecf314..157362b 100644
Binary files a/Test_DeleteFileFolder/bin/Debug/hedff.dll and b/Test_DeleteFileFolder/bin/Debug/hedff.dll differ
diff --git a/Test_DeleteFileFolder/bin/Debug/hedff.pdb b/Test_DeleteFileFolder/bin/Debug/hedff.pdb
index a2424a0..da1c295 100644
Binary files a/Test_DeleteFileFolder/bin/Debug/hedff.pdb and b/Test_DeleteFileFolder/bin/Debug/hedff.pdb differ
diff --git a/Test_DeleteFileFolder/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/Test_DeleteFileFolder/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
index 3871b18..057ed7f 100644
--- a/Test_DeleteFileFolder/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
+++ b/Test_DeleteFileFolder/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
@@ -1,4 +1,4 @@
-//
-using System;
-using System.Reflection;
-[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
diff --git a/Test_DeleteFileFolder/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Test_DeleteFileFolder/obj/Debug/DesignTimeResolveAssemblyReferences.cache
index e44d05b..4111691 100644
Binary files a/Test_DeleteFileFolder/obj/Debug/DesignTimeResolveAssemblyReferences.cache and b/Test_DeleteFileFolder/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ
diff --git a/Test_DeleteFileFolder/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Test_DeleteFileFolder/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index a133732..847fcbc 100644
Binary files a/Test_DeleteFileFolder/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/Test_DeleteFileFolder/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.AssemblyReference.cache b/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.AssemblyReference.cache
index fc9c687..a9dafc8 100644
Binary files a/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.AssemblyReference.cache and b/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.AssemblyReference.cache differ
diff --git a/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.FileListAbsolute.txt b/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.FileListAbsolute.txt
index 720fe17..db8e43b 100644
--- a/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.FileListAbsolute.txt
+++ b/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.FileListAbsolute.txt
@@ -1,26 +1,27 @@
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csprojAssemblyReference.cache
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.Form1.resources
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.Properties.Resources.resources
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.GenerateResource.cache
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.CoreCompileInputs.cache
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\Test_DeleteFileFolder.exe.config
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\Test_DeleteFileFolder.exe
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\Test_DeleteFileFolder.pdb
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\DeleteFileFolder.dll
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\DeleteFileFolder.pdb
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.CopyComplete
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.exe
-H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.pdb
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\Test_DeleteFileFolder.exe.config
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\Test_DeleteFileFolder.exe
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\Test_DeleteFileFolder.pdb
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\hedff.dll
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\hedff.pdb
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.Form1.resources
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.Properties.Resources.resources
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.GenerateResource.cache
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.CoreCompileInputs.cache
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.CopyComplete
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.exe
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.pdb
-H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.AssemblyReference.cache
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csprojAssemblyReference.cache
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.Form1.resources
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.Properties.Resources.resources
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.GenerateResource.cache
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.CoreCompileInputs.cache
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\Test_DeleteFileFolder.exe.config
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\Test_DeleteFileFolder.exe
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\Test_DeleteFileFolder.pdb
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\DeleteFileFolder.dll
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\DeleteFileFolder.pdb
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.CopyComplete
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.exe
+H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.pdb
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\Test_DeleteFileFolder.exe.config
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\Test_DeleteFileFolder.exe
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\Test_DeleteFileFolder.pdb
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\hedff.dll
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\bin\Debug\hedff.pdb
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.Form1.resources
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.Properties.Resources.resources
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.GenerateResource.cache
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.CoreCompileInputs.cache
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.CopyComplete
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.exe
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.pdb
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.AssemblyReference.cache
+H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\DeleteFileFolder.git\Test_DeleteFileFolder\obj\Debug\Test_DeleteFileFolder.csproj.SuggestedBindingRedirects.cache
diff --git a/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.GenerateResource.cache b/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.GenerateResource.cache
index cb98167..62a1c4d 100644
Binary files a/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.GenerateResource.cache and b/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.GenerateResource.cache differ
diff --git a/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.SuggestedBindingRedirects.cache b/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.csproj.SuggestedBindingRedirects.cache
new file mode 100644
index 0000000..e69de29
diff --git a/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.exe b/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.exe
index c01369f..e425ab3 100644
Binary files a/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.exe and b/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.exe differ
diff --git a/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.pdb b/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.pdb
index 9880711..65b5ae3 100644
Binary files a/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.pdb and b/Test_DeleteFileFolder/obj/Debug/Test_DeleteFileFolder.pdb differ
diff --git a/Test_DeleteFileFolder/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/Test_DeleteFileFolder/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
new file mode 100644
index 0000000..057ed7f
--- /dev/null
+++ b/Test_DeleteFileFolder/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
diff --git a/Test_DeleteFileFolder/obj/Release/Test_DeleteFileFolder.csproj.AssemblyReference.cache b/Test_DeleteFileFolder/obj/Release/Test_DeleteFileFolder.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..57dda5c
Binary files /dev/null and b/Test_DeleteFileFolder/obj/Release/Test_DeleteFileFolder.csproj.AssemblyReference.cache differ