Como renomear um arquivo com a data atual no menu de contexto do Explorer?

0

Eu quero poder renomear qualquer arquivo ou pasta com a data atual, então adicionei o seguinte valor de chave ao registro, para que essa opção apareça no menu de contexto do botão direito do mouse:

HKEY_CLASSES_ROOT\*\shell

Cmd.exe /c ren %1 "sample".*

No entanto, não consegui encontrar como realizar isso com a data atual. Alguém pode ajudar?

    
por Mgnfcnt 27.03.2014 / 08:04

1 resposta

0

Para obter a data atual no prompt de comando do Windows, use o seguinte:

date /t

Para renomear um arquivo com a data atual, você precisará usar a construção for para capturar a saída do comando date e passá-lo para ren :

for /f "useback delims=" %x in ('date /t') do ren oldfile.foo %x

Observe, no entanto, que a saída de date pode, dependendo das configurações regionais, conter símbolos que não podem ser usados em um nome de arquivo, por exemplo, a barra ( / ). Em caso afirmativo, você tem duas opções:

  • Formate a data de forma que seja adequada para uso em um nome de arquivo; veja esta postagem no Stack Overflow .

  • Use o PowerShell no lugar. O seguinte deve fazer o truque:

    Rename-Item oldfile.foo (Get-Date -Format yyyy-MM-dd)
    

    Esse exemplo usa o formato de data ISO. Consulte Como formatar datas e horários para obter mais informações.

Para adicionar uma nova entrada ao menu de contexto a todos os arquivos, faça o seguinte:

  1. Abra o regedit.exe e navegue até HKEY_CLASSES_ROOT \ * \ shell

  2. Adicione uma nova chave e defina seu nome para o nome que você deseja que o item de menu seja chamado

  3. Adicione uma nova chave abaixo, com o nome command

  4. Clique duas vezes no valor (Padrão) sob a chave command e defina seu valor da seguinte forma:

    • se estiver usando o prompt de comando regular (observe os sinais de porcentagem dupla):

      cmd /c for /f "useback delims=" %%x in ('date /t') do ren "%1" %%x
      
    • se estiver usando o PowerShell:

      cmd /c powershell Rename-Item "%1" (Get-Date -Format yyyy-MM-dd)
      
por 27.03.2014 / 08:22