Executando verificação de segurança...
3

Criei um módulo PowerShell para trazer o comando "touch" do Linux para o Windows

Se você costuma alternar entre ambientes Linux/macOS e Windows ou migrou do Linux para o Windows, provavelmente já passou pela frustração de abrir o PowerShell, digitar automaticamente touch arquivo.txt e receber um erro de comando não encontrado.

Embora o PowerShell tenha o nativo New-Item, a sintaxe não é tão fluida para o dia a dia quanto o simples touch. Para resolver isso, eu desenvolvi o módulo TouchCMD e disponilizei no PowerShell Gallery

No Windows, a forma padrão de criar um arquivo vazio via terminal é:

New-Item -ItemType File arquivo.txt

Ou usando o atalho ni. No Linux, o touch é universal, simples e direto. Eu queria essa mesma experiência no PowerShell, sem precisar recorrer ao WSL ou ao Git Bash para tarefas simples de manipulação de arquivos.

Inspiração

A ideia ganhou força após ler este post da Cassidy Williams, onde ela mostra uma função simples para emular o comportamento. Decidi pegar esse conceito e empacotá-lo em um módulo PowerShell devidamente estruturado, facilitando a instalação e a persistência entre sessões do terminal.

Como Instalar

Como está disponível no PowerShell Gallary, para instalar use o seguinte comando:

Install-Module -Name TouchCmd -Scope CurrentUser

Também é possível clonar diretamente do Github.

Exemplos de Uso

A ideia é manter a simplicidade que o comando original propõe:

Criar um novo arquivo

touch C:\path\to\newfile.txt

Atualizar o timestamp de um arquivo existente

touch C:\path\to\existingfile.txt

Use pipeline

"file1.txt", "file2.txt", "file3.txt" | touch

Conclusão

É um projeto simples, mas que remove um "atrito" constante no fluxo de trabalho de quem desenvolve em múltiplos sistemas operacionais.

O código está aberto e contribuições são muito bem-vindas! Se você usa Windows e sente falta dessa praticidade, dê uma olhada no repositório:

🔗 GitHub: ebdonato/touch-powershell

Carregando publicação patrocinada...
2

Muito interessante. Meus parabéns. Uma dúvida: é sempre preciso utilizar o caminho absoluto ou eu consigo criar um arquivo já considerando a cwd? Nos dois primeiros exemplos deu essa impressão de só com caminho absoluto, mas no terceiro isso parece ter sido ignorado

2

obrigado, que bom que gostou

respondendo sua pergunta, os quatro exemplos a seguir funcionam:

touch a.txt 
touch C:\Users\eduar\Github\b.txt
touch .\Github\c.txt
touch $pwd\d.txt