I am creating a program that works with commands, and would like this program to be executed by cmd style:
c:\path\folder>meuprograma
>comando arg1 arg2
>comando 1 falhou
>comando2
>comando 2 executado com sucesso!
>exit
c:\path\folder>
While I'm developing everything works fine, I run my project and it looks like this:
(Janela do console é aberta)
>comando arg1 arg2
>comando 1 falhou
>comando2
>comando 2 executado com sucesso!
>exit
(Janela do console é fechada)
What I want to know is, if I compile my program and register it in Windows variables and I type the above commands will it work? If not, how to make it work.
And how to get the folder where the program was run, for example:
C:\Users\Administrador>cd c:/teste
c:\teste>meuprograma
>help << na execução de um comando
How to get the folder that the program is running in the case c: / test?
My code:
static void Main(string[] args) {
do {
ReadCommand();
RunCommand();
} while (command != "exit");
}
static private void RunCommand()
{
string[] args = command.Split(' ');
if (args.Length > 0)
{
switch (args[0].ToLower())
{
case "exit":
break;
case "help":
Help();
break;
default:
InvalidCommand();
break;
}
}
}
static void Help()
{
string comandos = "\n" +
"Diretório atual: " <VARIAVEL_COM_DIRETORIO_AQUI> +
"help - Lista de comandos\n" +
"set - Seta o valor de um parâmetro, possui 2 parâmetros\n" +
" > param - Nome do parâmetro;\n" +
" > valor - Valor do parâmetro;\n" +
" Ex: [set repository c:/caminho/do/repositorio]\n"+
"get - Retorna o valor do argumento informado, possui 1 parâmetro\n"+
" > param - Nome do parâmetro;\n"+
" Ex: [get repository]";
Console.WriteLine(comandos);
}