.NET 3.x Обойти файлы с защитой и настроить кодировку - C#
Формулировка задачи:
Объединяю два вопроса в один, потому что они связаны между собой!
Я делаю программу, которая будет открывать cmd, проверять пинг локальной сети и записывать его в файл .txt .
Далее программа должна открыть для пользователя этот файл, в чем возникает сразу 2 проблемы:
1) Поиск затрагивает защищенные директории, которые отказывают в доступе. Происходит вызов UnauthorizedAccessException. Я не хочу бороться с защитой, надо просто обойти её. Как это сделать?
2) После открытия txt файла с логами процесса, я получаю карлючки. Как настроить нужную кодировку для текста из cmd?
Пример кода:
3) И правильно ли я понимаю, SearchOption.AllDirectories выполняет поиск полностью по всему диску C:\, даже в самом низу? Например, C:\Documents and Settings\Buddy\Рабочий стол\Work\Others\Screenshots
Листинг программы
- cmdPath cp = new cmdPath(); // public struct cmdPath { public IPHostEntry local_ip; public string host; }
- ProcessStartInfo psi;
- cp.host = Dns.GetHostName();
- cp.local_ip = Dns.GetHostEntry(cp.host);
- psi = new ProcessStartInfo("cmd", @"/c ping " + cp.local_ip + " > log cmd_log.txt");
- psi.WindowStyle = ProcessWindowStyle.Normal;
- Process.Start(psi);
Листинг программы
- FileInfo[] fi = new DirectoryInfo(@"C:").GetFiles("cmd_log.txt", SearchOption.AllDirectories);
- do
- {
- Console.WriteLine("Searching.");
- Thread.Sleep(700);
- Console.Clear();
- Console.WriteLine("Searching..");
- Thread.Sleep(700);
- Console.Clear();
- Console.WriteLine("Searching...");
- Thread.Sleep(700);
- Console.Clear();
- } while (fi.Count() < 1);
- if (fi.Count() >= 1)
- {
- Console.Clear();
- Process.Start("cmd_log.txt", "notepad.exe");
- }
- else
- {
- Console.Write("File cannot be found.");
- Thread.Sleep(2500);
- Console.Clear();
- }
Решение задачи: «.NET 3.x Обойти файлы с защитой и настроить кодировку»
textual
Листинг программы
- ping.StandardOutput.BaseStream.CopyTo(tempFileStream);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д