Página 1 de 1

Uma coisinha sobre DOS no XP

Enviado: 07 Out 2005 09:41
por Mário Isa
Um dos usuários disse: (sobre utilizar o comando Start no XP)

Olá
Eu utilizo da seguinte maneira:-

! cmd /c start /High programa.exe

aqui vemos que está executando o cmd com a opção /c.

a pergunta:
Será que se executarmos nossos programas DOS no xp (invocando-os com esta opção) não fica melhor e não evita aqueles erros NTVDM a CPU encontrou uma instrução inválida e blá blá?

Mário

Enviado: 07 Out 2005 09:47
por Visitante
Não entendi seu questionamento Mário Isa...

Eu executei, em linha DOS o comando:
cmd/?
e vi o que significava a opção /c

"Executa o comando especificado pela sequencia_de_caracrteres e é encerrado".

Pude constatar que a única função do encerrar o aplicativo após sua execução (para evitar ter que clicar no atalho "fechar a janela ao terminar").

Não sei se minha interpretação estaria correta, mas é o que parece.


Um Clip Abraço[/list]

Enviado: 07 Out 2005 11:19
por Mário Isa
legal! legal!
Vc utiliza windows xp aí?

então o q seria a opção /HIGH do amigo do fórum?

Obrigado.
:))

Enviado: 07 Out 2005 14:46
por Visitante
Engraçado...
Não tem o /High

Segue abaixo o help do comando cmd...
-------------------------------------------------------------------

Inicia uma nova instância do interpretador de comando do Windows XP

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] seqüência_de_caracteres]

/C Executa o comando especificado pela seqüência_de_caracteres e ‚ é
encerrado
/K Executa o comando especificado pela seqüência_de_caracteres mas
permanece
/S Modifica o tratamento da seqüência_de_caracteres após /C ou /K (ver abaixo)
/Q Desativa o comando ECHO
/D Desativa a execução de comandos AUTORUN do Registro (ver abaixo)
/A Faz com que a sa¡da de comandos internos para um pipe ou arquivo seja em ANSI
/U Faz com que a sa¡da de comandos internos para um pipe ou arquivo seja em Unicode
/T:fg Define as cores em primeiro/segundo plano (consulte COLOR /? para obter mais informações)
/E:ON Ativa extensões de comando (ver abaixo)
/E:OFF Desativa extensões de comando (ver abaixo)
/F:ON Ativa caracteres de conclusão de nome de arquivo e de pasta
(ver abaixo)
/F:OFF Desativa caracteres de conclusão de nome de arquivo e de pasta
(ver abaixo)
/V:ON Ativa a expansão de variáveis de ambiente atrasada usando ! como delimitador. Por exemplo, /V:ON permite que !var! expanda a variável var no tempo de execução. A sintaxe var expande variáveis no momento da entrada, que ‚ um procedimento bem diferente quando está  dentro de um loop de FOR.
/V:OFF Desativa a expansão de ambiente atrasada.

Observe que vários comandos separados pelo separador de comando '&&&&' são aceitos para seqüência de caracteres se estiverem entre aspas. Além disso, por razões de compatibilidade, /X ‚ o mesmo que /E:ON, /Y ‚ o mesmo que /E:OFF e /R ‚ o mesmo que /C. Qualquer outra opção é ignorada.

Se /C ou /K for especificado, o restante da linha de comando após a opção ser  processado como uma linha de comando, onde a seguinte lógica é usada para processar caracteres de aspas ("):

1. Se todas as condições a seguir forem atendidas, as aspas
na linha de comando serão preservadas:

- nenhuma opção /S
- exatamente duas aspas
- nenhum caractere especial entre as duas aspas, onde o especial é um dos seguintes: &<>()@^|
- h  um ou mais caracteres de espaço entre as duas aspas
- a seqüência de caracteres entre as duas aspas é o nome de um arquivo executável.

2. Caso contrário, o costume é ver se o primeiro caractere é um caractere de aspas e, se for, retirar o primeiro caractere e remover o último caractere de aspas na linha de comando, preservando qualquer texto após as últimas aspas.

Se /D NÃO estiver especificado na linha de comando, quando o CMD.EXE for iniciado, ele procurará as variáveis de Registro REG_SZ/REG_EXPAND_SZ
a seguir e, se nenhuma ou ambas estiverem presentes, serão executadas primeiro.

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

e/ou

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

As extensões de comando são ativadas por padrão. Também é poss¡vel desativar
extensões para determinada invocação usando a opção /E:OFF. É
poss¡vel ativar ou desativar extensäes para todas as invocações do CMD.EXE em uma máquina e/ou sessão de logon de usuário definindo qualquer um ou os dois valores REG_DWORD a seguir no Registro usando o REGEDT32.EXE:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions

e/ou

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions

para 0x1 ou 0x0. A configuração espec¡fica do usuário tem precedência sobre a configuração da máquina. As opções da linha de comando têm precedência sobre as configurações do Registro.

As extensões de comando envolvem alterações e/ou adições para os seguintes comandos:

DEL ou ERASE
COLOR
CD ou CHDIR
MD ou MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
IF
FOR
CALL
SHIFT
GOTO
START (também inclui alterações para invocações de comando externas)
ASSOC
FTYPE

Para obter detalhes espec¡ficos, digite nome_do_comando /?.

A expansão de variáveis de ambiente atrasada NÃO é ativada por padrão. É poss¡vel ativar ou desativar a expansão de variáveis de ambiente atrasada para uma determinada invocação do CMD.EXE com a opção /V:ON ou /V:OFF. É poss¡vel ativar ou desativar a conclusão de todas as invocações do CMD.EXE em uma máquina e/ou sessão de logon do usuário definindo um ou os dois valores REG_DWORD a seguir no Registro usando o REGEDT32.EXE:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion

e/ou

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion

para 0x1 ou 0x0. A configuração espec¡fica do usuário tem precedência sobre a configuração da máquina. As opções da linha de comando têm precedência sobre as configurações do Registro.

Se a expansão de variáveis de ambiente atrasada estiver ativada, o caractere de exclamação poder  ser usado para substituir o valor de uma variável de ambiente no tempo de execução.

A conclusão de nome de arquivo e pasta NÃO é ativada por padrÆo. É poss¡vel ativar ou desativar a conclusão de nome de arquivo para determinada invocação do CMD.EXE com a opção /F:ON ou /F:OFF. Você pode ativar ou desativar a conclusão para todas as invocações do CMD.EXE em uma máquina e/ou sessão de logon de usuário definindo qualquer um ou os dois valores REG_DWORD a seguir no Registro usando o REGEDT32.EXE:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

e/ou

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar

com o valor hexadecimal de um caractere de controle a ser usado para determinada função (ex.: 0x4 ‚ Ctrl-D e 0x6 ‚ Ctrl-F). As configurações espec¡ficas do usuário têm precedência sobre as configurações da máquina. As opções da linha de comando têm precedência sobre as configurações do Registro.

Se a conclusão for ativada com a opção /F:ON, os dois caracteres de controle usados serão Ctrl-D para a conclusão de nome de pasta e Ctrl-F para a conclusão de nome de arquivo. Para desativar determinado caractere de conclusão no Registro, use o valor do espaço (0x20), que não é um caractere de controle válido.

A conclusão é chamada quando você digita um dos dois caracteres
de controle. A função de conclusão usa a seqüência de caracteres
do caminho à esquerda do cursor, acrescenta um caractere curinga a ela,
se já  não existir um, e cria uma lista de caminhos correspondentes. Em seguida, exibe o primeiro caminho correspondente. Se nenhum caminho corresponder, ela emite um aviso e não altera nada. Depois, o pressionamento repetido do mesmo caractere de controle percorrerá a lista de caminhos correspondentes.
O pressionamento da tecla Shift com o caractere de controle permite percorrer a lista de trás para a frente. Se você fizer qualquer edição na linha e pressionar o caractere de controle novamente, a lista salva de caminhos correspondentes é descartada e uma nova é gerada. O mesmo ocorre se você alternar entre a conclusão de nome de arquivo e de pasta. A única diferença entre os dois caracteres de controle é que o caractere de conclusão de arquivo corresponde a ambos os nomes de arquivo e de pasta, enquanto que o caractere de conclusão de pasta somente corresponde a nomes de pastas. Se a conclusão de arquivo for usada em qualquer um dos comandos de pasta internos (CD, MD ou RD), a conclusão de pasta será usada.

O código de conclusão trata corretamente de nomes de arquivos que contêm espaços ou outros caracteres especiais colocando aspas em volta do caminho correspondente.
Além disso, se você retornar com o cursor e chamar a conclusão a partir de uma linha, o texto à direita do cursor no ponto em que a conclusão foi chamada será descartado.

Os caracteres especiais que exigem aspas são:
<espaço>
&()[]{}^=;!'+,`~

--------------------------------------------------------------------------

Um Clip Abraço