LINGUAGENS CMD
LINGUAGENS CMD
LINGUAGENS CMD
DE PROGRAMAÇÃO.FABIO: CMDPROMPT DE COMANDO TUDO QUE VC PRECISA SABER
Alguns comandos valem também nas versões 9x/Me, mas nesse texto não há a idéia de suportálas; a maioria é
referente ao Windows 2000 ou superior.
Personalizando o prompt, para deixálo mais amigável a você, e dicas básicas
Abrindo uma sessão dele ("Iniciar > Executar > cmd") e clicando com o botão direito na barra de títulos, você pode
configurar opções padrões para ele. Escolha "Padrões" no menu popup da barra de título, para definir as opções que
serão válidas para todas as janelas do prompt.
Na aba "Opções" você pode escolher o tamanho do cursor, quantidade de itens no histórico de comandos e modos de
edição, inclusive desativar o modo "Insert", que por padrão, "come" as letras ao digitar sobre outras. Na aba "Fonte",
defina não necessariamente a fonte (ele suporta poucas, as "fontes de varredura"), mas sim o número de linhas e
colunas da janela. Você pode, na aba "Layout" escolher a posição padrão da janela (uma distância fixa da esquerda e da
parte superior da tela), e na aba "Cores", alterar as cores (trocando o fundo preto, por exemplo).
Todo mundo sabe, todavia, não custa lembrar:
Tecle [ALT] esquerda + [ENTER] para alternar entre o modo tela cheia e janela. Vale também para programas
que se abrem em tela cheia no ambiente de simulação do MSDOS, como muitos jogos e programas de
controle. Neste caso, normalmente a janela será minimizada, exibindo a área de trabalho, e o programa,
pausado (sim, "pausado", diferentemente de minimizado, como ao minimizar uma janela... Estando
minimizado, o programa no simulador de MSDOS não estará sendo processado, por exemplo, um jogo ficará
pardo até que a janela dele seja ativa novamente). Se algum programa modificou as configurações e o
prompt sempre se abre em tela cheia ao ser chamado por outros programas, você pode alterar para a
exibição em janela por padrão, na aba "Opções" da tela de opções comentada.
Ao digitar um nome de arquivo, tecle [TAB] para completálo. Os nomes dos arquivos e pastas da pasta
atual serão alternados, conforme você for teclando [TAB]. Para escolher um arquivo, apenas continue
digitando o que você digitaria depois do nome dele, já preenchido. [TAB] avança entre os arquivos, e [SHIFT]
+ [TAB] volta na lista, "avançando para trás", útil em pastas que tenham muitos arquivos e subpastas :) Se
você se arrepender de ter teclado [TAB] para completar um nome de arquivo e quiser continuar
manualmente, simplesmente tecle [ESC].
Nomes de arquivos com espaços? Nunca se esqueça de colocálos entre aspas! Os espaços são
separadores de parâmetros, passar nomes de arquivos sem aspas implica em indicar ao computador que as
partes depois do espaço são novos parâmetros, e não uma continuação do nome do arquivo.
Para copiar texto, clique com o botão direito na janela e escolha "Marcar". Arraste o mouse normalmente,
tomando o cuidado de observar que ele seleciona em bloco de caracteres, e não em linha (como os editores
de texto em geral). Estando com o texto selecionado, apenas clique com o direito na janela novamente (ou
tecle [ENTER]), a seleção será desmarcada e o texto copiado. Para colar no prompt, infelizmente não vale o
[CTRL] + [V], tem que clicar com o direito e escolher a opção "Colar" mesmo.
É uma dica boba, mas vale comentar: use a barra de rolagem! Os comandos e saídas recentes vão ficando
armazenados no prompt de comando. Muita gente, acostumada com as versões mais antigas do Windows,
não sabem disso. Um meio de copiar tudo sem arrastar é usar o botão direito e escolher "Selecionar tudo",
pois ele selecionará inclusive os resultados passados, de fora da exibição atual. Já que estamos aqui, não
custa falar que o comando cls limpa a tela.
As opções também podem ser acessadas pelo menu de controle da janela, caso você esteja sem mouse.
Tecle [ALT] esquerda + [ESPAÇO] e use as setas de direção, para acessar as opções ou copiar texto. Útil
ao rodar o Windows em modo seguro se você tiver um mouse serial, já que ele não carrega este dispositivo
no modo de segurança.
Você pode ver informações sobre um comando dando o comando:
help nomedocomando
Ou chamando o comando com o parâmetro /? (vale para a maioria, mas não todos os programas, estamos
falando aqui dos programas do próprio Windows)
http://eletronblog.blogspot.com.br/2010/12/cmdpromptdecomandotudoquevc.html 1/9
11/04/2017 LINGUAGENS DE PROGRAMAÇÃO.FABIO: CMDPROMPT DE COMANDO TUDO QUE VC PRECISA SABER
Se um comando demorar para terminar, você pode forçálo a parar teclando [CTRL] + [C], no prompt. Use
com cuidado, especialmente se o programa usado editar arquivos ou estiver fazendo algo importante que
possa comprometer dados do sistema ou do usuário.
Use o comando prompt para personalizar o símbolo do prompt (tradicional ">"). Chameo com /? para ver as
opções disponíveis.
Trabalhando com arquivos
Uma revisão de conceitos e aglomerado de dicas:
A listagem de arquivos com o comando dir pode ser melhorada, dando os parâmetros:
/a : Exibir arquivos com o atributo definido. Por exemplo:
dir C:coisas /ahs
Para exibir os arquivos ocultos e de sistema. Use "a" em conjunto com outra letra: H = ocultos
(hidden), S = sistema e R = somente leitura (readonly).
/b : Não exibe resumo nem cabeçalho, deixando a visualização simples (ideal em muitas
situações onde você quer apenas saber os nomes dos arquivos)
/c : Exibe o separador de milhar nas indicações de tamanho de arquivo. Ele é o padrão, se você
quiser ver os números sem o ponto, use /c
/d : Lista os arquivos por coluna.
/l : Lista os nomes em letras minúsculas.
/n : Exibe os nomes de arquivos à direita, padrão no Windows XP. Se você quiser os nomes à
esquerda, dê /n (mas nesse caso eles ficarão com o nome no formato 8.3).
Use e abuse de caracteres curinga! Mas com cuidado. Por exemplo, copy C:*.exe copia todos os
executáveis, e copy C:mar*.* copia todos os arquivos que começam com "mar". Pelo menos no XP, você
pode usar em alguns outros comandos também. Por exemplo, ren *.jpeg *.jpg renomeará todos os arquivos
de extensão .jpeg para .jpg, mantendo os nomes originais.
Sobre os caracteres curinga, saiba que * substitui todos os caracteres possíveis, e ? apenas um. Por
exemplo, arquiv* poderá trazer resultados como arquivo, arquivar, arquivamento... Já arquiv? Trará apenas
resultados com uma única letra no lugar do ponto de interrogação, como arquivo, arquiva, etc.
O xcopy copia arquivos e árvores de pastas. Útil no prompt, onde o copy é ineficiente para a maioria das
tarefas com vários arquivos, e é bem diferente de copiar pastas usando um gerenciador de arquivos gráfico.
O deltree apaga pastas com subpastas e todos os arquivos. Use com cuidado!
O rd apaga pastas (diretórios). Muita gente se perde no prompt, tentando usar o del para apagar pastas. Por
padrão, o rd só apaga pastas vazias. Com o parâmetro /s ele apaga pastas com qualquer coisa, vazias ou
não, mas pergunta antes. Dando também o /q ele apaga a pasta sem perguntar nada.
Comandos importantes
bootcfg
Exibe e permite alterar as opções de boot, o arquivo "boot.ini". Via interface, estas opções podem ser
alteradas indo nas "propriedades do Meu Computador > guia Avançado > Inicialização e recuperação >
http://eletronblog.blogspot.com.br/2010/12/cmdpromptdecomandotudoquevc.html 2/9
11/04/2017 LINGUAGENS DE PROGRAMAÇÃO.FABIO: CMDPROMPT DE COMANDO TUDO QUE VC PRECISA SABER
Configurações". Executálo sem parâmetro faz com que ele exiba a lista dos sistemas cadastrados no
boot.ini. Chameo com /? para ver as opções. Você pode adicionar ou remover itens, além de alterar as
opções deles.
chkdsk
Conhecidíssimo, é o "scandisk". Nas versões 9x/Me do Windows ele recebeu o nome ScanDisk, mas no
DOS e nos NTs ficou como chkdsk, de "check disk". Chameo com /? para mais opções. Chamálo sem
parâmetros inicia a verificação na unidade atual no modo somente leitura, onde ele não alterará os dados
caso encontre erros.
chkntfs
Exibe ou modifica a verificação de disco no momento da inicialização do Windows; permite agendar a
verificação.
defrag
Desfragmentador de disco, dentro do prompt de comando. Você pode chamálo com a, para apenas
analisar, f para forçar a desfragmentação (mesmo que haja pouco espaço livre, cuidado!) e v para a
exibição detalhada do resultado. Antes do parâmetro, passe a unidade desejada, como em defrag
C: Cuidado: os parâmetros para ele devem ser precedidos de um hífen () e não barra, como na maioria.
diskpartComo o nome sugere, permite modificar o particionamento dos discos. Ele abre um console dentro
do prompt, e tem um prompt próprio. Use com cuidado, digite help no prompt dele para ver as opções.
Digite exit para sair e voltar ao prompt normal.
driverquery
Mostra informações sobre os drivers (de dispositivos e de sistemas de arquivos) instalados. Útil para solução
de problemas, devido a geração do relatório. Chameo com /? para ver mais opções.
format
Formata discos (partições e/ou volumes previamente criados e montados) ou disquetes. Chameo com /?, e
cuidado ao executálo!
label
Cria, altera ou exclui o nome do volume de um disco.
pagefileconfig
Configura a memória virtual. Chameo com /? para entender melhor. Via shell, isso é feito pelo caminho
"propriedades do Meu Computador > guia Avançado > Desempenho > Configurações > Avançado > Memória
Virtual > Alterar".
fsutil
Coleção de ferramentas úteis, via prompt. Chameo sem parâmetros, e ele listará os parâmetros suportados.
Permite gerenciamento e visualização de diversas coisas: comportamento do sistema de arquivos,
gerenciamento de cotas, informações dos volumes...
gpresult
Exibe informações sobre as diretivas de grupo ativas (como algumas daquelas ativadas pelo "gpedit.msc").
recover
Tenta recuperar arquivos danificados. Chameo passando o nome do arquivo.
reg
http://eletronblog.blogspot.com.br/2010/12/cmdpromptdecomandotudoquevc.html 3/9
11/04/2017 LINGUAGENS DE PROGRAMAÇÃO.FABIO: CMDPROMPT DE COMANDO TUDO QUE VC PRECISA SABER
Manipula o registro. Você pode adicionar chaves e valores, exportálas, editar valores... O uso exigirá um
pouco de treino.
schtasks
Gerencia as tarefas agendadas, permitindo adição/exclusão de tarefas. Via interface, isso pode ser feito pela
pasta especial "Tarefas agendadas", do painel de controle. Um parecido é o at.
shutdown
Permite desligar o sistema, local ou remoto. Chameo com /? para mais informações, e com /s para desligar.
Uma mensagem será exibida ao usuário, pedindo para fechar programas e salvar o trabalho. Essa mesma
tela de desligamento é chamada quando ocorre um erro num processo essencial do Windows de forma
inesperada (ou causado por um vírus/spyware). Uma dica é que o desligamento pode ser cancelado,
enquanto não acabar o tempo. Chamandoo com /a o desligamento é cancelado, basta ser rápido :)
systeminfo
O nome diz tudo :) Uma dica é redirecionar a saída para um arquivo de texto, usando systeminfo > C:info.txt,
por exemplo. Uma das informações que mais gosto desse systeminfo é o "uptime", o tempo que o Windows
está ligado.
tasklist
Exibe as tarefas e processos em execução, informando o PID de cada um ("Process ID", Identificador de
processo).
taskkillMata tarefas. Você precisará fornecer o PID, obtido com o tasklist. Por exemplo, taskkill /pid 123456
Outros comandos
Salvo algumas exceções, estarei deixando a descrição do comando fornecida pelo próprio Windows, normalmente ao
chamálo com /?, e uma ampliada na explicação de alguns.
assoc
Exibe ou modifica associações com extensões de arquivos. Chameo com /? para ver as opções. Chamálo
apenas com a extensão, permite remover a associação: assoc .txt, para remover a associação aos arquivos
.txt. Isso pode ser feito no registro, na chave HKEY_CLASSES_ROOT, mas é mais rápido pelo prompt de
comando, por exemplo, para remover associações indesejadas.
ftypeExibe ou modifica tipos de arquivos usados nas associações de extensão de arquivo. Definido um tipo,
você pode usar o assoc para associar uma extensão a ele. Esse comando sem o assoc não vale para criar
novas associações, e viceversa.
attrib
Permite alterar ou exibir os atributos dos arquivos. Muito útil para remover um atributo, especialmente de
arquivos ocultos ou de sistema que você não esteja conseguindo apagar. Chamálo sem parâmetros exibe os
atributos dos arquivos na pasta atual, que são identificados por letras (conforme já comentado: S = Sistema,
H = Oculto, R = Somente Leitura, etc). Para remover um atributo, chameo assim: attrib [ATRIBUTO]
arquivo Por exemplo, para remover o atributo somente leitura e de sistema, ficaria: attrib h s C:boot.ini.
Para adicionar um atributo, use + em vez de .
caclsExibe ou modifica as listas de controle de acesso (ACLs) de arquivos. São as "permissões" dos
arquivos, em partições NTFS. Via shell, elas podem ser exibidas e alteradas na guia "Segurança" das
propriedades dos arquivos, pastas e volumes. Aproveitando, vale lembrar... No Windows XP, a guia
"Segurança" não é exibida por padrão nas propriedades dos arquivos, visto que ele foi um NT "domesticado",
mesmo na versão profissional. Para que ela apareça (essa guia), desmarque o item "Usar compartilhamento
simples de arquivo" na aba "Modos de exibição" das opções de pasta.
chcpExibe ou define o número da página de código ativa.
http://eletronblog.blogspot.com.br/2010/12/cmdpromptdecomandotudoquevc.html 4/9
11/04/2017 LINGUAGENS DE PROGRAMAÇÃO.FABIO: CMDPROMPT DE COMANDO TUDO QUE VC PRECISA SABER
comp
Compara o conteúdo de dois arquivos ou conjuntos de arquivos. Chameo passando os nomes dos dois
arquivos como parâmetros.
compact
Exibe informações dos arquivos compactados (em partições NTFS) na pasta atual. Chameo com /? para
mais informações; ele permite também compactar e descompactar os arquivos.
convert
Permite converter partições FAT/FAT32 em NTFS. O caminho de volta é irreversível, só se reformatar a
partição. Chameo basicamente assim: convert X: /fs:ntfs. Por padrão, os arquivos existentes serão
atribuídos aos administradores, e usuários limitados não terão direitos completos sobre todos eles.
Chamandoo com /NoSecurity, ele configura as permissões para todos os usuários visto que no FAT não
há controle de acesso, ao passar para NTFS, a alguém deverão ser atribuídos os arquivos existentes ;)
diskcomp
Compara o conteúdo de dois disquetes (quem vai usar isso hoje?).
diskcopy
Copia o conteúdo de disquetes.
exit
Sai do prompt de comando, ou do programa aberto no prompt. Em alguns programas pode ser quit.
fc
Compara dois arquivos ou conjuntos de arquivos e exibe as diferenças entre eles.
find
Localiza uma seqüência de texto em um ou mais arquivos.
findstr
Procura seqüências de caracteres em arquivos. É diferente do find, chameos com /? para ver.
graftabl
Permite ao Windows exibir caracteres estendidos no modo gráfico.
hostname
Permite alterar o nome do computador. Via shell, isso é feito na aba "Nome do computador", nas
propriedades do "Meu computador".
ipconfig
Exibe informações das configurações IP, mostrando o endereço IP, gateway e máscara de subrede para
http://eletronblog.blogspot.com.br/2010/12/cmdpromptdecomandotudoquevc.html 5/9
11/04/2017 LINGUAGENS DE PROGRAMAÇÃO.FABIO: CMDPROMPT DE COMANDO TUDO QUE VC PRECISA SABER
cada placa de rede:
fig1
mode
Configura os dispositivos de sistema. Útil para dispositivos seriais antigos, ou mesmo novos que usem
conexão serial e que precisem de ajustes adicionais.
more
Exibe a saída do prompt, fazendo pausa a cada tela, útil para textos longos que rolam a tela sem que você
consiga ler. Mas não se esqueça da barra de rolagem, às vezes pode ser melhor deixar a saída aparecer por
completo e depois rolar a tela para cima.
path
Exibe ou define um caminho de pesquisa para arquivos executáveis (ou outros dependentes, como dlls,
arquivos OCX compartilhados, etc). Via shell, os caminhos podem ser alterados pelo botão "Variáveis de
ambiente", da aba "Avançado" da tela das propriedades do "Meu Computador". No NT, esses caminhos
estão no registro, na chave "Path" da "HKEY_CURRENT_USER > Environment", para o usuário atual, e
"HKEY_LOCAL_MACIHNE > Environment", para todos os usuários.
ping
Dispara contra um computador ou host e espera receber dados, usado para ver se a conexão está ativa,
entre outras informações. Chameo com /?, existem vários parâmetros.
replace
Substitui arquivos. Use com cuidado, leia atentamente as instruções dando o parâmetro /?.
set
Exibe ou define, e permite remover as variáveis de ambiente do Windows. Veja o comentário do parâmetro
path, mais acima, sobre a localização delas.
sort
Esse é interessante, permite ordenar linhas em arquivos. Seu uso é bem detalhado, chameo com /? para
entendêlo.
start
Abre uma nova janela do prompt. Chameo passando um comando como parâmetro, para que seja aberto um
novo prompt com o programa já em execução, sem interromper o atual.
http://eletronblog.blogspot.com.br/2010/12/cmdpromptdecomandotudoquevc.html 6/9
11/04/2017 LINGUAGENS DE PROGRAMAÇÃO.FABIO: CMDPROMPT DE COMANDO TUDO QUE VC PRECISA SABER
subst
Associa um caminho a uma letra de unidade. Isso permite criar "atalhos" para pastas, na forma de letras,
que aparecerão no "Meu computador". Por exemplo, subst Z: \servidorpasta1 permite mapear a unidade.
Você pode fazer também com pastas locais, como subst X: C:coisasx.
tree
Exibe de forma gráfica e hierárquica a estrutura de pastas de uma unidade ou caminho. Pode ser bem
interessante, veja:
fig2
type
Exibe o conteúdo de um ou mais arquivos de texto, basicamente para lêlo.
ver
Mostra a versão de Windows. Para informações mais detalhadas (como o tipo de versão, Server, Home,
Professional, Business, Enterprise, etc) prefira o comando gráfico, winver, que mostra a mesma tela "Sobre
o Windows" acessível também pelo menu "Ajuda > Sobre..." das janelas de pasta do Explorer.
verify
Faz com que o interpretador de comandos verifique ou não se seus arquivos foram gravados corretamente no
disco. Ative ou desative a verificação passando como parâmetro, respectivamente, on e off.
vol
Exibe o nome e o número de série do disco, caso existam.
typeperf
Grava dados de desempenho na janela de comando ou em um arquivo de log. Para interromper, pressione
CTRL+C.
Úteis em arquivos de lotes (.bat):
echo
Exibe descrições ou avisos, ou impede a exibição dos comandos na tela, quando usado em arquivos de
lotes.
http://eletronblog.blogspot.com.br/2010/12/cmdpromptdecomandotudoquevc.html 7/9
11/04/2017 LINGUAGENS DE PROGRAMAÇÃO.FABIO: CMDPROMPT DE COMANDO TUDO QUE VC PRECISA SABER
call
Chama um programa em lotes a partir de outro, útil basicamente para usar 'arquivos de inclusão" em arquivos
.bat.
for
Executa um comando especificado para cada arquivo em um conjunto de arquivos. Útil em arquivos de lotes,
mas dependendo do que você quer fazer, pode valer muito também no prompt. Chameo com /? par ver a
ajuda, tem o estilo do "for" em programação.
goto
Direciona o interpretador de comando para uma linha com um rótulo em um programa em lotes.
pause
Pausa o processamento de um programa em lotes e exibe a mensagem "Pressione qualquer tecla para
continuar...". Útil para dar explicações ou avisos, abusando antes do comando echo.
pushd
Armazena a pasta atual para uso pelo comando POPD, depois altera para a pasta especificada. Pode ser útil
tanto em arquivos de lotes como diretamente no prompt.
popd
Altera para a pasta armazenada pelo comando PUSHD.
rem
Registra comentários em um arquivo em lotes.
setlocal
Inicia a localização das alterações de ambiente em um arquivo em lotes. As alterações de ambiente feitas
após SETLOCAL ser emitido são específicas do arquivo em lotes. ENDLOCAL deve ser emitido para
restaurar as configurações anteriores. Quando o final de um script em lotes é alcançado, um ENDLOCAL é
executado para qualquer comando SETLOCAL pendente emitido por esse script em lotes.
endlocal
Termina a localização das alterações de ambiente em um arquivo em lotes. As alterações de ambiente feitas
após ENDLOCAL ser ativado não são específicas do arquivo em lotes; as configurações anteriores não
serão restauradas na finalização do arquivo em lotes.
shift
Altera a posição dos parâmetros substituíveis em um arquivo em lotes.
title
Altera o título da janela do prompt. Útil em arquivos em lotes, você pode definir seu nome ou o nome da sua
"aplicação", ou mesmo o status, de forma visível para o usuário.
Mais comandos ainda!
Esses são válidos para as versões nãodomésticas do Windows. Diversos deles podem ser configurados via interface
gráfica, através dos consoles do gerenciamento do computador. Uma boa idéia é usar o recurso de pesquisa do
sistema, e mandar buscar por *.msc dentro da pasta do Windows.
eventcreate
http://eletronblog.blogspot.com.br/2010/12/cmdpromptdecomandotudoquevc.html 8/9
11/04/2017 LINGUAGENS DE PROGRAMAÇÃO.FABIO: CMDPROMPT DE COMANDO TUDO QUE VC PRECISA SABER
Permite que um administrador crie uma mensagem e identificação de evento personalizadas em um log de
eventos especificado (que poderá ser vista juntamente com as mensagens dos programas, pelo eventvwr, o
visualizador de eventos). Pode ser inútil em casa, mas dependendo do servidor ou ambiente corporativo,
algumas ações podem ser logadas dessa forma, para que outros administradores tenham acesso depois.
eventquery
Exbe os eventos ou as propriedades de um evento de um ou mais arquivos de log.
eventtriggers
Permite que um administrador exiba e configure 'Disparadores de eventos' em sistemas locais ou remotos.
getmac
Permite que um administrador exiba o endereço MAC de adaptadores de rede em um sistema.
logman
Gerencia o serviço 'Logs e alertas de desempenho' para a criação e gerenciamento de logs de sessão de
rastreamento de eventos e logs de desempenho. Chameo com /?, pois são tantos os parâmetros
suportados...
openfiles
Permite que um administrador liste ou desconecte arquivos e pastas que foram abertos em um sistema. Isso
pode ser feito graficamente pelo "fsmgmt.msc", que também exibe todos os compartilhamentos locais ou
remotos.
prncnfg
Permite configurar ou mostrar as configurações de impressoras.
prndrvr
Adiciona, exclui e exibe os drivers de impressoras.
prnjobs
Permite controlar tarefas de impressão, como pausa ou cancelamento dos documentos na fila de impressão.
prnmngr
Permite adicionar, excluir e listar as impressoras conectadas, além da padrão.
prnport
Cria, exclui e lista portas de impressoras TCP/IP.
prnqctl
Imprime uma página de teste, ou pausa ou reinicia um documento a ser impresso.
http://eletronblog.blogspot.com.br/2010/12/cmdpromptdecomandotudoquevc.html 9/9