Считывание текстового файла команда: Windows Type
Здравствуйте! Помогите пожалуйста отредактировать код, иначе голова сейчас взорвется:tehnari_ru_093:! Сложности вызывают: 1)Не могу сообразить как сделать так чтобы при вызове справки "help" он дальше предложил указать путь к считываемому документу. 2)Надо сделать так чтобы при вводе [диск:][путь]\*.txt считывал все txt документы.
Вот код:
Здравствуйте! Помогите пожалуйста отредактировать код, иначе голова сейчас взорвется: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;
}
}
}