using System;
using System.Reflection;
using System.IO;
namespace waitnochangeexit
{
class Program
{
/// <summary>
/// Erstellt von René Wißmann
/// für Supportnet.de
https://supportnet.de/t/2402502
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
if (args.Length == 3 && File.Exists(args[0]) && Convert.ToInt32(args[1]) >
0 && Convert.ToInt32(args[2]) > Convert.ToInt32(args[1]))
{
DateTime nextwait = DateTime.Now.AddSeconds(Convert.ToInt32(args[1]));
bool Cont = true;
long lastsize = 0;
while (Cont)
{
if (DateTime.Now > nextwait)
{
FileInfo FileState = new FileInfo(args[0]);
if (DateTime.Now > FileState.LastWriteTime.AddSeconds(Convert.
ToInt32(args[2])) && lastsize == FileState.Length)
Cont = false;
Console.Out.Write("\rJetzt: " + nextwait.ToLongTimeString() +
" Datei von: " + FileState.LastWriteTime.ToLongTimeString(
) + " Bytes: " + FileState.Length);
nextwait = DateTime.Now.AddSeconds(Convert.ToInt32(args[1]));
lastsize = FileState.Length;
}
System.Threading.Thread.Sleep(100);
}
}
else
{
string ProgName = new FileInfo(Assembly.GetExecutingAssembly().
Location).Name;
Console.Out.WriteLine("");
Console.Out.WriteLine("");
Console.Out.WriteLine("");
Console.Out.WriteLine("verwendung:");
Console.Out.WriteLine(ProgName + " Dateiname Testinverval" +
" Exitwait");
Console.Out.WriteLine("");
Console.Out.WriteLine("Dateiname: Pfad und Dateiname (in \"" +
") zur prüfenden Datei");
Console.Out.WriteLine("Testinverval (Sekunden): Wie oft soll" +
" nach der datei geschaut werden?");
Console.Out.WriteLine("Exitwait (Sekunden): Programm beenden" +
" wenn Datei so lange gleich.");
Console.Out.WriteLine("");
Console.Out.WriteLine("Beispiel:");
Console.Out.WriteLine(ProgName + " \"C:\\LogFiles\\Test.log\" 1 120");
Console.Out.WriteLine("");
}
}
}
}