
Eu tenho um servidor de compartilhamento de arquivos base do Windows (com mais de 100 pastas compartilhadas para usuários) para usuários onde os usuários copiam arquivos diariamente para fins de backup. Alguns usuários se esquecem de fazer isso e, depois de muitos dias ou na recuperação de desastres, parece que o usuário não estava mantendo sua pasta de backup. Isso cria um problema para o Departamento de TI. No momento, verificamos cada usuário navegando diariamente pelas pastas e classificando pela última modificação. Quero fazer isso com alguns scripts.
A estrutura das pastas é a seguinte
D:\Backup
D:\Backup\User1\Folder1 [contém os principais arquivos de backup do usuário] D:\Backup\User1\Folder2 [contém dados indesejados apenas do usuário]
D:\Backup\Usuário2\Pasta1 D:\Backup\Usuário2\Pasta2
e assim por diante
Agora quero listar os nomes das pastas que não foram atualizadas (modificadas) nos últimos X dias. ), mas apenas FOLDER1 deve ser verificado, pois contém os arquivos de backup reais)
Responder1
Você pode escrever um script para tornar as coisas mais sofisticadas, mas sugiro navegar até a pasta e usar a pesquisa integrada do Windows: modified:<YYYY-MM-DD hh:mm:ss
isso verificará todos os arquivos que foram modificados antes da data especificada.
Para verificar apenas pastas, você pode adicionar: kind:folders
Para verificar arquivos apenas em um determinado nome de pasta, use:foldername:Folder1
Você pode personalizar sua pesquisa com valores adicionais.
Aquisão algumas opções de pesquisa avançada que você pode usar.
Responder2
Você não mencionou qual sistema operacional está usando. Presumo que seja o Windows 8.1, o Windows 10 ou o Windows Server 2008 R2 ou posterior.
Existe um comando que você pode usar que faz exatamente o que você deseja.
É chamadoforfiles
Este utilitário de linha de comando listará todos os arquivos na pasta atual (e opcionalmente todas as subpastas). Você pode aplicar um filtro nesta lista enorme como uma consulta. Uma das opções é o sistema avançado de datas. Você não apenas pode escolher todos os arquivos antes ou depois de uma determinada data, mas também pode fazer o mesmo por um período específico de dias.
O comando seria algo assim:
forfiles /s /m FOLDER1 /c "cmd /c forfiles /p @path /s /d -30"
Isso mostraria todas as modificações nos últimos 30 dias para essas pastas específicas.