• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Считывание текстового файла команда: Windows Type

  • Автор темы Автор темы SaRaf
  • Дата начала Дата начала

SaRaf

Ученик
Регистрация
8 Июн 2011
Сообщения
1
Реакции
0
Баллы
0
Считывание текстового файла команда: Windows Type

Здравствуйте! Помогите пожалуйста отредактировать код, иначе голова сейчас взорвется:tehnari_ru_093:! Сложности вызывают: 1)Не могу сообразить как сделать так чтобы при вызове справки "help" он дальше предложил указать путь к считываемому документу. 2)Надо сделать так чтобы при вводе [диск:][путь]\*.txt считывал все txt документы.
Вот код:
Код:
using System;
using System.Text;
using System.IO;
 
namespace XXX
{
    class Type
    {
        const string h = "\n Type[диск:][путь]имя_файла";
       
        static void Main(string[] args)
        {
            
            string s = "", pat = "", path = "", line;
            int slash = 0;
 
            
                Console.Write("\n Укажите путь к документу");
                Console.WriteLine("\n для вывода справки введите ?  -? help");
                Console.Write(" Путь к документу: ");
                s = Console.ReadLine();
                
                if (s=="?"||s== "-?"||s=="help") 
            {
                    Console.WriteLine(h);
                   
            }
 
 
 
            char[] p = s.ToCharArray();
 
            for (int i = p.Length - 1; i > 0; i--)
            {
                if (p[i] == '*')
                {
                    for (int j = i; j > 0; j--)
                        if (p[j] == '\\')
                        {
                            slash = j;
                            break;
                        }
                    for (int j = slash + 1; j < p.Length; j++)
                        pat += p[j];
                    for (int j = 0; j < slash + 1; j++)
                        path += p[j];
                    break;
                }
            }
            try
            {
                string[] dirs = Directory.GetFiles(path, pat);
                foreach (string dir in dirs)
                {
                    line = R(dir);
 
                }
 
                if (pat == "")
                {
                    line = R(s);
                }
            }
            catch (Exception d)
            {   
                Console.WriteLine("Файл не может быть прочитан:");
                Console.WriteLine(d.Message);}
                Console.ReadLine();
        }
 
        private static string R(string s)
        {
            string line = "";
 
            StreamReader chet = new StreamReader(s, Encoding.GetEncoding("windows-1251"));
 
            line = chet.ReadLine();
 
            while (line != null)
            {
                Console.WriteLine("\n");
                Console.WriteLine(line);
                line = chet.ReadLine();
            }
 
            chet.Close();
            return line;
        }
    
    }
}
 
Назад
Сверху