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, eu o configuro no perfil do meu 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 eu só digito browse para 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 lsa para mostrar todos os itens em um diretório, incluindo itens ocultos.
Use la ou ll como aliases mais curtos.
Eu uso lsd para listar apenas pastas, lsf para listar apenas arquivos, lat para a lista ordenada pelo último tempo de gravação e latr para listar por hora na direção oposta.
fi foi configurado como um simples substituto para o comando unix find , apenas procurando recursivamente por um nome de arquivo.