У меня есть этот вопрос,Console.ReadLine («») повторение при перезапуске
Мой босс хочет программа, вы можете ввести путь, Console.ReadLine(directory);
Это не имеет значения, я получил эту часть работает. Фактически, весь код/программа работает так, как должно быть. Точка пути заключается в том, что программа просматривает все файлы в данном каталоге/подкаталогах для последнего времени записи. Он хочет заплатить минимальные усилия в этом. Таким образом, план состоит в том, чтобы использовать Windows для запуска этой программы каждые 24 часа. Только проблема с этой частью «минимального усилия» заключается в том, что вы должны вводить путь EVERYTIME, когда он запущен. Так что на самом деле это не происходит автоматически.
Вопрос в следующем: есть ли способ избежать этого? Например, Thread.Sleep();
, и когда это делается, спящая метка справа под номером Console.ReadLine(directory);
?
Так что не один раз в день, а спать 24 часа и на 1 минуту работы?
Если это любая помощь, вот код:
using System.IO;
using System.Security.Permissions;
namespace CheckWithinTime
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Which folder do you wish to scan?");
string path = Console.ReadLine();
//copies everything from the console to a .txt file
FileStream filestream = new FileStream(@"C:\Logs\Log.txt", FileMode.Create);
var streamwriter = new StreamWriter(filestream);
streamwriter.AutoFlush = true;
Console.SetOut(streamwriter);
Console.SetError(streamwriter);
//this is the path which you type in a the beginning of the program
string[] files = Directory.GetFiles(path, "*.*", System.IO.SearchOption.AllDirectories);
List<string> updatedFiles = new List<string>();
DateTime from = DateTime.Now.AddDays(-1);
DateTime to = DateTime.Now;
foreach (string name in files)
{
FileInfo file = new FileInfo(name);
string fullname = file.FullName;
//checks if the last writed time occured less then 24 hours ago, if it's not it will not be loggeed
if (file.LastWriteTime >= from && file.LastWriteTime <= to)
{
updatedFiles.Add(name);
Console.WriteLine(file.FullName + " ; " + "last changed at >> " + " ; " + file.LastWriteTime.ToString());
//Console.WriteLine("File created at >> " + file.CreationTime.ToString());
//Console.WriteLine("File last opened at >> " + file.LastAccessTime.ToString());
Console.WriteLine();
}
}
streamwriter.Close();
filestream.Close();
//The mail class basicly sends an e-mail to the server with the log file, but this is irrelevant
Mail();
}
}
}
Раньше только простой файловой системы наблюдающий. После этого все было так, как сейчас, но без части Console.ReadLine()
. И теперь он хочет дать путь.
Если кто-нибудь может сказать мне способ избежать Console.ReadLine()
, но используйте его только тогда, когда вам это нужно. Буду премного благодарен!
Извините заранее за мои большие тексты.
Я полностью забыл об этом методе! Ха-ха, это супер гений. Спасибо огромное! – vascomakker