Procura por arquivos por criação ou data modificada usando a linha de comando

1

No prompt de comando, o script:

C:\>dir *.* /s > a.txt

lista todos os arquivos no arquivo TXT (a.txt), que podem ser abertos no Bloco de Notas ou em outro editor de texto. Você pode pesquisar na lista por arquivos modificados dentro de um período de tempo (por exemplo, hoje). Por exemplo, esta pergunta foi escrita em 6 de agosto de 2015, portanto, posso pesquisar "06/08/2015". Você pode até melhorar isso procurando por "06/08/2015 10" para arquivos criados depois das 10h de hoje.

Isso funciona bem, mas o arquivo gerado pode ser muito grande (e demora um pouco para gerar). É possível fazer melhor (de preferência, mas não restrito a, a partir da linha de comando).

    
por AlainD 06.08.2015 / 11:34

2 respostas

1

Eu recomendo File Locator Lite . Tem um separador de data. É leve e fácil de usar.

    
por 06.08.2015 / 15:26
2

Que tal um powershell?

 get-childitem -recurse | where-object { $_.lastwritetime -gt (get-date).addHours(-100)}

Acho que isso funcionará bem para você.

Exemplo de saída:

 12:20 x D:\Users\x > get-childitem -recurse |where-object {$_.lastwritetime -gt (get-date).addHours(-100)}


    Directory: D:\Users\x


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d-r--        2015-08-06     10:43            Desktop


    Directory: D:\Users\x\Desktop


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        2015-08-05     16:38     636963 20119998885_921a43c7b4_k.jpg
-a---        2015-08-03     15:45     206011 cpu.csv


    Directory: D:\Users\x\Important\Passwd


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        2015-08-05     10:49         62 main.plk

Get-childitem é como o antigo dir , mas a saída é mais parecida com objetos que não são como fluxos de texto. Cada item tem propriedades - por exemplo, lastwritetime, que é exatamente como o tempo de modificação. Você pode fazer aritmética nesses parâmetros com funções como addDays ou addHours para obter o filtro desejado com base na data.

É claro que você pode usar -eq em vez de -gt e fornecer a data exata para correspondência. Eu acho que você pode até usar o operador -match e especificar a máscara com curingas para coincidir com a data desejada. Tente. É melhor então cmd puro.

    
por 06.08.2015 / 12:23