Salve salve meu caro amigo geek, nerd, otaku, jedi, ou qualquer outra raça – afinal, não importa quem você seja, o que importa é ler o muitonerd.org icon wink Windows CMD   Going Beyond

Estava eu aqui, perdido neste domingo pré feriadão de carnaval (no qual provavelmente vou trabalhar), pensando em que colocar no script para uma aula introdutória de rails quando me veio a necessidade de criar um arquivo vazio. cmd Windows CMD   Going Beyond

Meus editores favoritos bizonhamente não aceitam você simplesmente clicar com o botão direito em um diretório e escolher “New File” / “Add File” / “Create File” ou qualquer coisa do gênero… E nisso estão inclusos: o todo poderoso Ultra Edit (e mesmo a versão mais power: UEStudio), Notepad++, PSPad (sugerido pelo Fálico), e Textpad.

Um absurdo! Um absurdo ter que escolher “New File…” utilizando o menu, e depois escolher um diretório , um processo burocrático e ineficiente. Se estivesse usando uma IDE (Eclipse/RadRails, Netbeans, RubyMine…) até conseguiria clicar direto no diretório, mas ao pedir para criar um novo arquivo com certeza apareceria algum Wizard frescurento – Tudo em nome da produtividade (sic).

Como para trabalhar com rails, saber utilizar bem o shell da sua plataforma é fundamental (e as opções para Windows – MSYS e CygWin são bem problemáticas em alguns pontos), saí à caça…

Bom, se estivesse no linux, seria muito mais fácil e mais rápido executar o comando:

touch nome_do_arquivo.txt

Isso criaria um arquivo vazio automaticamente (ou modificaria o “last modified date” se o arquivo já existisse).

No [fraquíssimo] CMD do [ótimo] Windows é um pouco mais difícil conseguir isso. Cheguei a pensar em algumas alternativas, a que chegou mais próxima foi:

echo a > nome_do_arquivo.txt

Isso foi quase o equivalente, já que criou um arquivo com um caractere. Mas, não foi o suficiente para me deixar satisfeito. Tentei então algumas variações:

echo “” > nome_do_arquivo.txt

echo ” > nome_do_arquivo.txt

Porém, o resultado foi a impressão das aspas no arquivo, e não um arquivo vazio. Outra tentativa seria apenas:

echo > nome_do_arquivo.txt

Porém o resultado disso é o conhecido:

ECHO is on.

Pesquisando um pouco, descobri a existência de um dispositivo especial no Windows, apelidado de “black-hole”, pois tudo que é enviado para ele se perde. Junto com ele, veio a maracutaia para criar o saudoso arquivo vazio:

copy NUL > nome_do_arquivo.txt

Isso, “NUL” é o nome dado para o dispositivo “black-hole” no Windows.

Aliás, os dispositivos no Windows tem algumas propriedades curiosas. Você não pode criar um arquivo com o nome de nenhum deles. Duvida? Tente criar um arquivo qualquer com um desses nomes:

  • CON
  • PRN
  • AUX
  • NUL
  • COM1
  • COM2
  • COM3
  • COM4
  • COM5
  • COM6
  • COM7
  • COM8
  • COM9
  • LPT1
  • LPT2
  • LPT3
  • LPT4
  • LPT5
  • LPT6
  • LPT7
  • LPT8
  • LPT9

Para finalizar, mais algumas dicas bem úteis para o CMD (testadas apenas no XP):

Se você quiser abrir uma sessão do Windows Explorer no diretório corrente de trabalho, basta utilizar o comando:

start .

Outra coisa bem precária é a funcionalidade de copy/paste com o botão direito, que, a priori, não existe – sendo necessário utilizar o menu “Edit > Copy” ou “Edit > Paste”.

Para melhorar isso, podemos customizar algumas coisas. Primeiro, acesse as propriedades do CMD:

properties Windows CMD   Going Beyond

Depois, na aba “Options”, marque as opções “Insert Mode” e “Quick Edit”:

options Windows CMD   Going Beyond

“Insert Mode” apenas diz se caracteres inseridos no meio do texto irão sobreescrever os já existentes ou não, ligá-la quer dizer que ao inserir um caractere no meio do texto, todo o texto é deslocado para a direita para comportá-lo.

“Quick Edit” permite que você selecione texto na tela a qualquer momento sem precisar escolher “Edit > Mark”, após selecionar o texto é possível copiar e colar utilizando o botão direito apenas.

Ao clicar em OK, diga que você quer que essas opções se apliquem a todas as janelas que você abrir daqui pra frente.

Uma dica final é que você pode arrastar um arquivo ou pasta direto do Windows Explorer para o CMD, e automaticamente será inserido o caminho completo para este arquivo ou pasta.

[ ]‘s

Se alguém conhecer mais alguma maracutaia do CMD, por favor contribua =).

printer famfamfam Windows CMD   Going Beyond Imprimir esse artigo!
Leia também: