const string AuthorName = "Syntriax"; const string AuthorEmail = "Syntriax@gmail.com"; const string FileSearchPattern = "*.cs"; const string ProgramSignature = $"Signed by an automated program written by Syntriax"; const string CreationDateTag = ""; const string Signature = $@"/* Author: {AuthorName} Email: {AuthorEmail} Creation Date: {CreationDateTag} UTC {ProgramSignature} */ "; void ExploreDirectory(string path) { string[] files = Directory.GetFiles(path, FileSearchPattern); string[] directories = Directory.GetDirectories(path); foreach (string filePath in files) Sign(filePath); foreach (string directoryPath in directories) ExploreDirectory(directoryPath); } void Sign(string filePath) { string[] lines = File.ReadAllLines(filePath); foreach (string line in lines) if (line.Contains(ProgramSignature)) return; Console.WriteLine($"Signing -> {filePath}"); DateTime dateTime = File.GetCreationTimeUtc(filePath); string newContents = Signature.Replace(CreationDateTag, $"{dateTime.ToLongDateString()} - {dateTime.ToLongTimeString()}"); newContents += File.ReadAllText(filePath); File.WriteAllText(filePath, newContents); } ExploreDirectory(Environment.GetCommandLineArgs()[1]); Console.ReadKey();