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 ;)

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. Windows shell

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 =).

Imprimir esse artigo! Imprimir esse artigo!
Leia também: