Como reduzir a dor do prompt de comando


38

Quero aprender a usar melhor o prompt de comando no Windows para ter mais controle sobre o que faço e apenas para a experiência de aprendizado. O principal incômodo que tenho agora é toda a digitação. Se eu quiser executar uma operação em um arquivo com um caminho grande, fico sentado digitando por um minuto, pelo menos, e se eu cometer um erro, tenho que pressionar a tecla de seta para cima e rolar a coisa toda e encontrar o que eu fiz de errado. Existe alguma ferramenta para facilitar isso?


Eu adoraria que o prompt de comando do Windows tivesse a opção "-o vi" que o bash faz. Isso torna as coisas muito rápido (quando você sabe um pouco de vi é claro)
OscarRyz

2
Conclusão da guia! Qualquer terminal decente o terá (e, caso contrário, eu questionaria a capacidade do terminal em que você está sentado).
New123456

Especialmente se você estiver aprendendo, aprenda o PowerShell. Para peidos velhos, aprender um novo truque pode ser difícil. Mas para iniciantes, é bom receber esse conselho com antecedência, a fim de direcionar suas energias de aprendizado ao longo do melhor caminho desde o início.
music2myear

Respostas:


33

Se você pretende usar o prompt de comando apenas no Windows, poderá usar o Windows PowerShell , pois é mais fácil de usar do que o prompt de comando inicial e copia algum comportamento dos terminais do tipo * nix. (Ele também oferece muito mais funcionalidades, mas no começo, pelo menos para mim, é um "shell de comando mais fácil").

imagens do PowerShell

Editar: imagem alterada para uma mais "amigável".


pela aparência da wikipedia, a imagem parece um pouco mais difícil do que o que estou usando agora. Eu ainda estou lutando para aprender o Windows e muito menos um desses terminais * nix, mas vou dar uma olhada obrigado.

3
Sim, neste caso, talvez não esteja realmente adaptado. Para mim, como eu conhecia os terminais * nix antes, esse PowerShell me ajudou, pois também fornece muitos aliases (atalhos) para os comandos * nix comuns. Normalmente, "ls" funciona como "dir". Em geral, também é mais consistente para a "conclusão de guia", na minha opinião, em comparação com o shell original, o que facilita a navegação.
Gnoupi

1
O PowerShell é realmente o caminho a percorrer. Como usuário antigo do cmd.exe, posso dizer que é realmente limitado. Depois que você quiser fazer algo inteligente, acabará precisando de VBScript ou algo semelhante, portanto precisará aprender isso. Cada comando tem sua própria sintaxe e eles raramente são semelhantes; portanto, você precisa aprender cada um deles e não pode adivinhar facilmente. O PowerShell é muito mais poderoso e muito mais consistente, para que você possa aplicar o que aprendeu de um comando para outro.
Serialhobbyist #

Além disso, alguns dos comandos do PoSh têm aliases iguais aos comandos do cmd para facilitar a transição. Por exemplo, dir funciona (com o nome Get-ChildItem). Mas no PowerShell, você também pode direcionar o registro e outras coisas.
Serialhobbyist #

1
Além disso, o PowerShell possui um texto de ajuda MUITO melhor (IMO). Alguém já disse para você ler as cmdpages?
Hello71

45

Você pode usar a Tabtecla para preencher automaticamente os nomes dos arquivos. Embora lembre-se de que você deve primeiro digitar o nome do arquivo o suficiente para identificá-lo de forma exclusiva, caso contrário, precisará alterar aleatoriamente as correspondências. Por exemplo, você tem uma pasta com esses arquivos e é com o diretório atual que você está sentado cmd:

.
..
Su.exe
Sup.txt
SuperUser.COM

se você deseja concluir automaticamente SuperUser.COM, você precisará digitar supee pressionar Tab, pois nenhum dos outros arquivos começa com esses quatro caracteres. Observe que, se você digitou sue pressionou Tab, pode pressionar Tabmais duas vezes para acessar o SuperUser.COM ou digitar ShiftTabpara voltar à lista e chegar lá.

Outro truque é se você tiver o arquivo em uma janela do explorer, poderá arrastá-lo para a cmdjanela e ele digitará o nome para você.


2
Isso funciona muito bem, obrigado, mas quando estou examinando os arquivos às vezes passo por cima dos meus, existe uma maneira de retroceder?

14
Yep, shift-guia :)
John T

2
Fato bônus: shift+ <any key that cycles through tabs/windows>é sempre equivalente a reverter, por exemplo alt-tab- -> alt-shift-tab.
glenneroo

27

Aqui estão mais algumas dicas e truques para usar o prompt de comando, incluindo:

"... arraste e solte arquivos ou pastas de uma janela do explorer em um prompt de comando; isso insere o caminho entre aspas como se você o tivesse colado manualmente ..."

Essa é outra maneira de reduzir a quantidade de digitação envolvida em longos caminhos de arquivo.


3
Agora isso é útil. Eu não conhecia nada disso.
EvilChookie

1
Já tinha isso na minha resposta original: P
John T

Isso não funciona no Windows Vista ou no Server 2008, mas funciona novamente no Windows 7 e no Windows Server 2008 R2. Consulte superuser.com/questions/27347/what-is-conhost-exe/28897#28897 para obter mais detalhes.
Reuben

O outro conselho lá é muito bom também
Casebash

21

Aqui está a lista completa das ações das teclas de função:

F1 retypes the previous command one character at a time
F2 brings up a dialog and asks “Enter the char to copy up to:”
F3 retypes the last command in full
F4 brings up a dialog and asks “Enter char to delete up to:”
F5 as for F3
F6 Print EOF character (Ctrl+Z)
F7 brings up a dialog of all the recent command history
F8 brings up each of the most recent commands, one at a time
F9 brings up a dialog and asks “Enter command number:”

2
Alguém tem o F4 para trabalhar? A caixa de diálogo aparece, mas não é excluída.
Charles Beattie

15

Pressionar F7 listará os últimos comandos executados.

cd \ para voltar ao c:diretório


2
Hmm, não sabia disso.
Gnoupi

LEGAL! (que é tudo o que tenho a dizer, mas a resposta deve ser de 15 caracteres longo ...)
Traveling Tech Guy

Eu uso o prompt de comando o tempo todo e não sabia o F7 - muito útil!
Justin

8

Muitas vezes, você pode reduzir sua digitação estando no diretório correto. Você pode abrir um shell de comando no diretório que vê em uma janela do Explorer adicionando cmd.exe nas associações de tipo de pasta.

(Ferramentas - Opções de pasta - Tipos de arquivo - Pasta - Avançado - Novo - cmd)

Então, quando você seleciona cmd, clicando com o botão direito do mouse nessa pasta, a janela de comando que se abre terá como diretório atual o da pasta em que você clicou.

texto alternativo


1
para usuários do XP, MS Power Toys para XP irá proporcionar isso para você também: microsoft.com/windowsxp/Downloads/powertoys/Xppowertoys.mspx
akf

Eu sabia que havia vários widgets que fizeram isso por você, mas eu sempre gosto de uma auto-configuração que substituirá um widget. Obrigado por esta informação.
music2myear

7

Se o Windows PowerShell for muito grande, também existem alguns shells de substituição de cmd:

E mais pode ser encontrado via google.


+1 para cygwin: usar esse conjunto de ferramentas significa que os truques que você aprende são portáteis para instalações em Linux e, em certa medida, outros sistemas operacionais (BSD, MacOS, ...) onde estão presentes as mesmas ferramentas ou similares e shells semelhantes ao bash. Embora se o PowerShell for esmagador, é provável que o cygwin também o seja.
David Spillett

+1 para o console, que não é um shell de substituição, mas um terminal melhor para os shells existentes.
Wfaulk #

+1 para Cygwin, mas o emulador é horrível. Sugeriria Terminator + Cygwin, nesse caso.
jamesh

Sou um grande fã do TCC (desde 4DOS, por volta de 1989); Eu prefiro muito isso ao PowerShell. E agora que o TCC / LE é freeware, posso enviar scripts .BTM completos com uma instalação do TCC :-) Observe que o PowerCMD e o Console não são processadores de comando de substituição, mas terminais de substituição. Pessoalmente, uso o Console com várias guias, cada uma contendo uma sessão TCC (ou Cmd ou Cygwin).
billdehaan

andlinux.org andLinux é muito mais amigável que o Cygwin.

7

Algo que uso constantemente ao usar o prompt de comando é a seta para cima (e seta para baixo) para percorrer os comandos usados ​​recentemente. Especialmente quando inseri um comando longo e só desejo editar parte dele sem redigitá-lo.

Um pequeno exemplo, se você:

c:\>ping 192.168.1.1

E, em seguida, deseja executar ping em outro endereço semelhante, basta pressionar a seta para cima. O comando aparece no prompt com o cursor no final. Isso facilita o backspace uma vez e altera o endereço para 192.168.1.2 ou algo semelhante.


4

Eu sugiro que você use o prompt de comando.

Eu sei, parece ridículo, mas isso é sério - se não instantaneamente útil - conselhos. Há muito o que saber e, para absorver profundamente, é preciso usá-lo repetidamente.


9
Sim, ele quer, mas ele gostaria de saber o que ele pode fazer com isso, eu acho. Como "bruteforcing", os comandos disponíveis podem levar algum tempo.
Gnoupi 01/09/09

Aprendi o prompt de comando escrevendo um script em lote de implantação do sistema ambicioso. Tentei incorporar todos os recursos que eu poderia pensar que beneficiariam a tarefa desejada, que continuava fazendo perguntas nos fóruns e em outras pessoas que eu conhecia até que funcionasse. 1500 linhas e muita experiência que ainda uso.
music2myear

@ music2myear você tem 28 anos, idade suficiente. Onde você esteve e não aprendeu o DOS naquele dia?
Barlop

Meu pai comprou nosso primeiro computador quando eu tinha 10 anos. DOS 4, acho que sim, e Win 3.1. Eu só estava interessado em pintar aplicativos e em quais jogos ele poderia jogar. Não foi até 98 que eu tenho meu próprio computador para estudar engenharia. E não foi até que o sistema começou a ter problemas e eu tive que consertar eu mesmo que realmente entrei em tecnologia e computadores. Foi em 2003 que consegui um emprego no suporte de TI e criei o script em lote que mencionei anteriormente. Eu era apenas um iniciante tardio para os padrões dos nerds.
Music2myear

4

Ative o modo de edição rápida para:

  • Copiar texto por: selecione texto + ENTER
  • Cole o código pressionando o botão direito.

insira a descrição da imagem aqui

Também altero a fonte e o layout para algo mais agradável que o mapa de bits padrão.

insira a descrição da imagem aqui

Por fim, adicione mais linhas e colunas à janela de edição e mais linhas ao buffer.

insira a descrição da imagem aqui

As capturas de tela estão em espanhol, mas estão exatamente no mesmo lugar em inglês


1
Alterar a largura da janela do console é uma das primeiras coisas que faço em um novo computador.
Justin

+1 A altura padrão é igualmente inútil.
glenneroo

2

Definitivamente, pegue uma cópia do Cygwin e adicione sua pasta \ bin à sua variável PATH. É como um prompt de comando utilizável!

Mas, realmente, a única maneira de se acostumar com isso é se acostumar, então use-o!


Eu tenho um tempo difícil viver com janelas sem a minha festa pronta
jweede

1

Se você estiver usando o XP (não conhece o Vista), pode baixar um powertoy que adiciona uma entrada de menu "Abrir janela de comando aqui" ao menu de contexto da pasta do explorer.

Outra coisa que eu achei útil é parar de usar os caminhos padrão do Windows para tudo. Eles são muito difíceis de lembrar e os espaços podem se tornar um problema. Usar algo mais parecido com a estrutura de diretórios do linux pode economizar muito tempo. Meus diretórios se parecem com isso (a título de exemplo):

 - C:\usr\bin\firefox 
 - C:\usr\bin\7zip
 - C:\usr\bin\dropbox

 - C:\usr\lang\cpp\gcc
 - C:\usr\lang\cpp\lib\qt_4_5_0
 - C:\usr\lang\python\py25

 - C:\usr\home\wrksp\cpp
 - C:\usr\home\doc
 - C:\usr\home\wrksp\svn

Muito mais fácil de lembrar.


5
O Vista (Ultimate Edition pelo menos) tem isso por padrão, mas oculto para o usuário médio. Apenas mantenha pressionada a tecla Shift e clique com o botão direito do mouse em uma pasta no painel direito do Explorer e você verá "Abrir janela de comando aqui".
GAThrawn

@ GAThrawn, tenho o Vista Home Premium e confirmo que também vi esse recurso.
Shivasubramanian A

"C: \ usr \ bin \ 7zip" é muito mais rápido do que "c: \ Arquivos de Programas \ 7zip"? Em termos de pressionamentos de tecla .. c: \ prog <tab> \ 7zip vs c: \ usr \ bin \ 7zip talvez os arquivos de programa sejam mais rápidos de acessar?
barlop

1

Pessoalmente, acho que se você quiser aprender a usar o prompt de comando e não o achar alegre, provavelmente não precisará usá-lo.

Assim que precisar acessar uma CLI, você a achará útil e até agradável. Se você está tentando fazer as tarefas do dia-a-dia com ele, está batendo a cabeça contra uma parede.

Quando você estiver familiarizado com o prompt de comando, poderá migrar suas tarefas diárias apenas porque é mais fácil do que sempre buscar o mouse :)


Tão verdade. A necessidade gera familiaridade.
0119 J. Polfer

1

Faça uso de variáveis ​​de ambiente.

Por exemplo, em vez de digitar c: \ documents and settings \ username, você pode simplesmente usar% userprofile%. Para obter uma lista de variáveis ​​de ambiente padrão, digite SET e pressione enter em um prompt de comando.

Além disso, familiarize-se com os comandos disponíveis para você - eu gosto de dois sites para eles: www.ss64.com e www.robvanderwoude.com

Você também pode aprender scripts em lote - usando isso, pode automatizar tarefas usadas com freqüência.


1
  • Para colar em uma janela de comando usando o teclado, pressione alt-space, e, p.
  • Para repetir o último comando iniciado com a letra "d" (por exemplo; pode ser qualquer caractere), pressione d e, em seguida, F8.

A última dica pode parecer meio obscura, mas quando você passa muito tempo no console, pode ser muito mais rápido e fácil do que pressionar a seta para cima ou o F8 várias vezes.


1

Há algumas ótimas dicas postadas neste tópico!

Na minha opinião, postar substituições de CMD é um pouco 'Off Topic'. Mas parece que está tudo bem aqui, então devo adicionar o ColorConsole à lista.

A interface com guias , menu Comandos Favoritos , Copiar / Cortar e Colar e, de fato, exportar HTML são recursos muito úteis que não quero mais perder.

ps: tente isso no tópico "Precisa ter complementos do Firefox": Lads, obtenha o Opera, ele tem os brindes já embutidos! :)



0

Eu concordo com a sugestão de usar o PowerShell. Além disso, acho incrivelmente útil configurar funções e aliases para reduzir tarefas comuns a menos letras digitadas.

Por exemplo, para iniciar um link http, configurei isso no meu perfil do PowerShell:

function browse-url { param($url="http://www.google.com/"); (new-object -com shell.application).ShellExecute($url); }
set-alias -name "browse" -value "browse-url"

e depois digito browsepara abrir o google ou browse http://....para abrir um link específico

Outro exemplo para listar arquivos ou diretórios:

function lsa { param($path="."); Get-ChildItem -Force $path }
set-alias -name "la" -value "lsa"
set-alias -name "ll" -value "lsa"
function lsd { param($path="."); lsa $path | ? { $_.PSIsContainer } }
function lsf { param($path="."); lsa $path | ? { !$_.PSIsContainer } }
function lat { param($path="."); lsa $path | sort -property lastwritetime -descending }
function latr { param($path="."); lsa $path | sort -property lastwritetime }
function fi { param($pat,$root="."); gci -r $root | ? {$_.Name -match $pat} | % { $_.FullName } }

E então eu uso lsapara mostrar todos os itens em um diretório, incluindo itens ocultos. Use laou llcomo aliases ainda mais curtos.

Eu uso lsdpara listar apenas pastas, lsflistar apenas arquivos, latlistar ordenados pela última hora de gravação e latrlistar por hora na direção oposta.
fifoi configurado como um substituto simples para o findcomando unix , basta procurar recursivamente um nome de arquivo.


0

Instale o Xplorer2 de substituição do Windows Explorer . Ele inclui uma ferramenta de prompt de comando que permite que todas as funções do prompt de comando junto com a GUI do Windows, como o uso do mouse, clique com o botão direito do mouse para funções de copiar e colar etc. Dê uma olhada na captura de tela abaixo.

Captura de tela do prompt de comando

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.