45 lines
1.3 KiB
C#
45 lines
1.3 KiB
C#
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 = "<CreationDate>";
|
|
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();
|