(Я новичок, сори если вопрос тупой)
Делаю свою консоль и появилась проблема с командой cd
Пишу cd d:\Папка
Он отвечает d:\Папка>
Он перешёл в нужную директорию, но стоит написать просто cd (Показать текущую директорию) дак он отвечает
D:\RiderProjects\******\*****\bin\Debug\net6.0
То-есть он не перешёл, почему?
А если написать много раз cd то будет переходить во все директории подряд
Кодusing System.Diagnostics;
var code = 0;
while (code == 0)
{
Console.Write(Directory.GetCurrentDirectory() + ">");
code = cmd(Console.ReadLine());
}
int cmd(string command)
{
if (command.Length != 0 && command[0] == Convert.ToChar("c") && command[1] == Convert.ToChar("d"))
{
if (command.Length > 3 && command[2] == Convert.ToChar(" "))
{
var path = command.Substring(3);
try
{
Process.Start("cmd", "/k cd /d " + path);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
else if (command.Length > 2 && command[2] != Convert.ToChar(" "))
{
Console.WriteLine("\"" + command +
"\" не является внутренней или внешней\nкомандой, исполняемой программой или пакетным файлом.\n");
}
else if (command == "cd")
{
Console.WriteLine(Directory.GetCurrentDirectory() + "\n");
}
}
else if (command == "exit")
{
return 1;
}
else if (command == "")
{
return 0;
}
else
{
Process.Start("cmd", "/k " + command);
}
return 0;
}