Usuário com melhor resposta
Mover arquivos e pastas utilizando data de modificação

Pergunta
-
Estou precisando fazer um script .VBS para mover arquivos e pastas utilizando a data de modificação do mesmo, a ideia é que todos os arquivos que tenham a data menor que a data especificada sejam copiados para outra pasta.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")'pasta de origem
strPasta = "D:\bkp"'pasta de destino
strDest = "D:\Teste"'contem o valor em dias que estou utilizando
difference = DateAdd ("d",now,-5)
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Saber arquivos de uma pasta
Set objfo = objFSO.GetFolder(strPasta).FilesSet objFolder = CreateObject("Scripting.FileSystemObject")
'obter a data de modificação
objFolder = ObjFSO.GetFolder(strPasta).DateLastModifiedFor Each objFolder In objfo
If (difference < objFolder) thenobjFSO.CopyFolder "D:\bkp", "D:\Teste",true
Else
End IfNext
Obrigado a Todos
Respostas
-
Estou precisando fazer um script .VBS para mover arquivos e pastas utilizando a data de modificação do mesmo, a ideia é que todos os arquivos que tenham a data menor que a data especificada sejam copiados para outra pasta.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")'pasta de origem
strPasta = "D:\bkp"'pasta de destino
strDest = "D:\Teste"'contem o valor em dias que estou utilizando
difference = DateAdd ("d",now,-5)
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Saber arquivos de uma pasta
Set objfo = objFSO.GetFolder(strPasta).FilesSet objFolder = CreateObject("Scripting.FileSystemObject")
'obter a data de modificação
objFolder = ObjFSO.GetFolder(strPasta).DateLastModifiedFor Each objFolder In objfo
If (difference < objFolder) thenobjFSO.CopyFolder "D:\bkp", "D:\Teste",true
Else
End IfNext
Obrigado a Todos
Rkes, boa tarde.
Segue o link...
http://social.technet.microsoft.com/Forums/pt-BR/scriptadminpt/thread/7f2e55cc-fa56-41b1-842e-0462c25e1003
Utilize o search so site, no forum possui um material excelente!
Qualquer duvida poste!
Se util classifique!
Poste os resultados!.
[]s,
" Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"- Sugerido como Resposta Jesiel S. Pereira quarta-feira, 9 de dezembro de 2009 18:50
- Marcado como Resposta Fábio JrModerator quinta-feira, 12 de janeiro de 2012 13:51
Todas as Respostas
-
Estou precisando fazer um script .VBS para mover arquivos e pastas utilizando a data de modificação do mesmo, a ideia é que todos os arquivos que tenham a data menor que a data especificada sejam copiados para outra pasta.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")'pasta de origem
strPasta = "D:\bkp"'pasta de destino
strDest = "D:\Teste"'contem o valor em dias que estou utilizando
difference = DateAdd ("d",now,-5)
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Saber arquivos de uma pasta
Set objfo = objFSO.GetFolder(strPasta).FilesSet objFolder = CreateObject("Scripting.FileSystemObject")
'obter a data de modificação
objFolder = ObjFSO.GetFolder(strPasta).DateLastModifiedFor Each objFolder In objfo
If (difference < objFolder) thenobjFSO.CopyFolder "D:\bkp", "D:\Teste",true
Else
End IfNext
Obrigado a Todos
Rkes, boa tarde.
Segue o link...
http://social.technet.microsoft.com/Forums/pt-BR/scriptadminpt/thread/7f2e55cc-fa56-41b1-842e-0462c25e1003
Utilize o search so site, no forum possui um material excelente!
Qualquer duvida poste!
Se util classifique!
Poste os resultados!.
[]s,
" Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"- Sugerido como Resposta Jesiel S. Pereira quarta-feira, 9 de dezembro de 2009 18:50
- Marcado como Resposta Fábio JrModerator quinta-feira, 12 de janeiro de 2012 13:51
-
Marcellus, Boa tarde
Eu visualizei o link sugerido fiz alguns teste e ainda sim não consegui fazer rodar o script da forma que estou querendo.
Utilizando o script que está no link ele não apresenta erros mas também não move arquivo algum sendo que a pasta que ele está buscando possui arquivo que deveriam ser movidos, segue abaixo o script que eu utilizei.strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objFSO = CreateObject("Scripting.FileSystemObject")'Coloque aqui a pasta que será verificada
strPasta = "D:\bkp"'Coloque aqui a pasta para a qual os arquivos serão copiados (Se quiser copiar, se nao quiser apague essa linha)
strDest = "D:\Teste"'Coloque aqui os tipos de arquivos que serão copiados ou deletados, separados por ";"
arrTipos = "log,jpg,mp3,avi,pdf,txt"' NOME DO ARQUIVO DE LOG
strLogFile = "c:\teste.txt"'quantidade de dias
strData = 1arrTipos = split(arrTipos,";")
Set objLogFile = objFSO.OpenTextFile(strLogFile, 8, True, 0)
objLogFile.WriteLine VBCRLF
objLogFile.WriteLine "==================================================="
objLogFile.WriteLine "ARQUIVOS MOVIDOS EM: " & now
objLogFile.WriteLine "==================================================="If (objFSO.FolderExists(strPasta) = True) Then
Set Folder = ObjFSO.GetFolder(strPasta)
Set MyFiles = Folder.files
For Each tipo in arrTipos
For Each MyFiles in Folder.Files
If Right(myfiles.name,3) = tipo And DateDiff("d",myfiles.DateLastModified,now) > strData Then
objFSO.Copyfile strPasta & myfiles.name,strDest,True
objLogFile.WriteLine "Arquivo : " & myfiles.name & " copiado em : " & Now
objFSO.Deletefile strPasta & myfiles.name
End If
Next
Next
End ifwscript.quit
-
Marcellus, Boa tarde
Eu visualizei o link sugerido fiz alguns teste e ainda sim não consegui fazer rodar o script da forma que estou querendo.
Utilizando o script que está no link ele não apresenta erros mas também não move arquivo algum sendo que a pasta que ele está buscando possui arquivo que deveriam ser movidos, segue abaixo o script que eu utilizei.strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objFSO = CreateObject("Scripting.FileSystemObject")'Coloque aqui a pasta que será verificada
strPasta = "D:\bkp"'Coloque aqui a pasta para a qual os arquivos serão copiados (Se quiser copiar, se nao quiser apague essa linha)
strDest = "D:\Teste"'Coloque aqui os tipos de arquivos que serão copiados ou deletados, separados por ";"
arrTipos = "log,jpg,mp3,avi,pdf,txt"' NOME DO ARQUIVO DE LOG
strLogFile = "c:\teste.txt"'quantidade de dias
strData = 1arrTipos = split(arrTipos,";")
Set objLogFile = objFSO.OpenTextFile(strLogFile, 8, True, 0)
objLogFile.WriteLine VBCRLF
objLogFile.WriteLine "==================================================="
objLogFile.WriteLine "ARQUIVOS MOVIDOS EM: " & now
objLogFile.WriteLine "==================================================="If (objFSO.FolderExists(strPasta) = True) Then
Set Folder = ObjFSO.GetFolder(strPasta)
Set MyFiles = Folder.files
For Each tipo in arrTipos
For Each MyFiles in Folder.Files
If Right(myfiles.name,3) = tipo And DateDiff("d",myfiles.DateLastModified,now) > strData Then
objFSO.Copyfile strPasta & myfiles.name,strDest,True
objLogFile.WriteLine "Arquivo : " & myfiles.name & " copiado em : " & Now
objFSO.Deletefile strPasta & myfiles.name
End If
Next
Next
End ifwscript.quit
Rkes, boa noite.
Pode ter sido um erro de digitação.
'Coloque aqui os tipos de arquivos que serão copiados ou deletados, separados por ";"
arrTipos = "log,jpg,mp3,avi,pdf,txt" <<----- Aqui vc deveria separa por ; nao por ,
Veja se irá dar algun erro.
Poste os resultados....
[]s,
" Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"