Script que copiará um arquivo com base na data modificada

1

Eu preciso executar um script que copie um arquivo de um diretório para outro com base na data em que foi modificado. Basicamente eu tenho um banco de dados despejado em um diretório em uma base diária e eu quero ser capaz de copiar o banco de dados do primeiro dia de cada mês para um diretório diferente para que eu possa excluir todos os outros arquivos na pasta excluídos. p>

Alguém pode me ajudar?

Este é um script que gostaria de executar no Windows Server 2003.

Obrigado antecipadamente.

    
por MadHatter 21.10.2010 / 17:20

3 respostas

2

Use o Robocopy como uma função interna do sistema operacional a sintaxe deve ser algo nos moldes disso.

Robocopy "\ source" "\ destino" / mir / mon: 1 / mot: 1 / R: 3 / W: 10 / CÓPIA: DAT /log:c:\tools\robolog.txt / NDL / NP / Z

crie e salve isso como um arquivo de lote que tenha uma tarefa agendada para executá-lo 23 horas por dia e o processo o mate e reinicie depois.

aqui está a referência do technet para todos os comandos e funções link

    
por 21.10.2010 / 17:29
0

Você pode agendar um arquivo de lote no primeiro dia de cada mês para excluir os arquivos com mais de 1 dia (via delage32 de link ) e copie o arquivo restante para outra pasta.

    
por 21.10.2010 / 19:05
0

O Powershell também pode fazer isso facilmente. Aqui está um trecho higienizado de um script que eu uso:

$BaseDirectory = C:\temp
$SelectionFilter = "*.tmp"
$intFileAge = 7
$DueDate = (get-date).addDays(-$intFileAge)

# Create an array of files where CreationDate is before DueDate 
# and it's not a directory

$arrFiles = get-childitem -recurse -path $BaseDirectory -Filter $SelectionFilter | '
Where-object {$_.CreationTime -le $DueDate -and $_.psIsContainer -ne $true}

Foreach ($oldfile in $arrFiles) {

    Copy-Item $oldFile.fullName -destination c:\elsewhere\
}

O "verbo" do script poderia ser facilmente mover-item ou remover-item.

    
por 21.10.2010 / 19:54