Configurando o cmd com o comando padrão e a mensagem definida pelo usuário

1

Clique no botão em um aplicativo winform Estou executando o arquivo cmd.exe (Usando o sistema ("cmd.exe");), que abre perfeitamente bem e exibe o seguinte:

  Microsoft Windows XP [Version 6.1.7601]
  (C) Copyright 1985-2001 Microsoft Corp.

  C: A\Documents\Visual Studio 2010\Projects\WinformTest\WinformTest> 

O que eu quero é quando um usuário clica no botão, o cmd.exe é aberto com o comando padrão e uma mensagem como esta:

 Please change command options and press enter to get started experimenting   
 C: A\Documents\Visual Studio 2010\Projects\WinformTest\WinformTest> reduction -x 33554432 -i  

Observe um novo comando e uma mensagem já está lá.

Alguém pode me dizer como ir para isso?

UPDATE

 cmd /k echo Please change command options and press enter to get started      
 experimenting & echo reduction -x 33554432 -i

Isso mostra a solução mais próxima, mas aqui eu tenho que definir os comandos toda vez que eu abro o cmd. É possível definir o comando uma vez e salvar a configuração, então da próxima vez que eu abrir o CMD, a mensagem será exibida? Ou é possível passar esses comandos opções / opções quando estou abrindo na minha aplicação usando o sistema ("cmd.exe") para que no tempo de execução esta configuração para mensagem seja feita?

Resolvido

 system("cmd.exe /k echo Please change command options and press enter to get started  
 experimenting & echo reduction -x 33554432 -i"  );

Mas isso ecoa maeesage, mas o comando não está chegando no prompt.

    
por gpuguy 27.06.2012 / 10:01

2 respostas

3

Uma maneira de fazer isso é fazer uso do pouco conhecido recurso de execução automática do processador de comandos. Eu lembrei que isso era possível assim como uma pesquisa no Google só para receber um link para o meu próprio Blog! Eu tinha esquecido de escrever isso:

link

Você pode definir um comando de execução automática por meio do registro em um desses locais, de acordo com a necessidade:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor

Eu uso a seguinte configuração:

%USERPROFILE%\.profile.cmd

Que executa esse arquivo cmd toda vez que eu inicio uma linha de comando. No comando de execução automática, você poderia simplesmente exibir a saída de um arquivo de texto. Em seu aplicativo, despeje algum texto no arquivo de texto e inicie a linha de comando. Você deve então esvaziar o arquivo de texto (não excluí-lo) para que você não continue recebendo o prompt.

Você pode adicionar mais informações, se necessário, para que o arquivo de texto seja exibido apenas para seu aplicativo.

É claro que você também pode alterar o registro rapidamente de seu aplicativo.

    
por 27.06.2012 / 10:30
2

cmd.exe aceita um parâmetro opcional /k , que você pode usar para executar um comando quando for inicializado. Para usar isso para chegar perto do que você quer, algo parecido com o seguinte parece próximo:

cmd /k echo Please change command options and press enter to get started experimenting & echo reduction -x 33554432 -i

que resulta em uma janela abrindo e exibindo:

Comovocêpodever,vocêpodeexecutarvárioscomandoscolocandoum"&" entre cada um.

Se você deseja fazer algo mais complexo, execute um script .cmd / .bat separado para obter algo semelhante ao que Julian Knight descreve em sua resposta , mas sem exigir modificações no registro.

    
por 27.06.2012 / 18:42