Usuário com melhor resposta
Mudar a funcionalidade !!!!

Pergunta
-
Ba galera na paz.
Como faço para mudar o script abaixo para quando ele localizar o arquivo, ele renomeie o arquivo para outro nome, sem gravar log, somente localizar e renomear o arquivo para por exemplo autorun.old
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
set FSo = CreateObject("Scripting.FileSystemObject")Pasta = "C:\"
strDest = "c:\log.txt"
arrTipos = "autorun.ini;"
arrTipos = split(arrTipos,";")set folder = FSO.getFolder (Pasta)
Set ArqLog = FSO.OpenTextFile(strDest, 8, True, 0)
ArqLog.WriteLine VBCRLF
ArqLog.WriteLine "==================================================="
ArqLog.WriteLine "ARQUIVOS LISTADOS EM: " & now
ArqLog.WriteLine "==================================================="ArqLog.Close
BuscaArquivo Pasta
if folder.Subfolders.count > 0 then
for each SubFolder in folder.Subfolders
BuscaArquivo SubFolder
next
end ifSub BuscaArquivo(strPasta)
Set ArqLog = FSO.OpenTextFile(strDest, 8, True, 0)
Set colFiles = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='" &strPasta& "'} Where " _
& "ResultClass = CIM_DataFile")For Each objFile in colFiles
For Each tipo in arrTipos
If objFile.Extension = tipo Then
Set objArquivo = FSo.GetFile(objFile.Name)
If objArquivo.Attributes AND 2 Then
'ArqLog.WriteLine objArquivo.Name
ArqLog.WriteLine objArquivo.path
End if
End If
Next
NextArqLog.Close
End Sub
Respostas
-
Olá,
Dá uma olhada no script abaixo:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
set FSo = CreateObject("Scripting.FileSystemObject")
Pasta = "C:\"
strArquivo = "teste.txt"
set folder = FSO.getFolder (Pasta)
BuscaArquivo Pasta
if folder.Subfolders.count > 0 then
for each SubFolder in folder.Subfolders
BuscaArquivo SubFolder
next
end if
Sub BuscaArquivo(strPasta)
Set colFiles = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='" &strPasta& "'} Where " _
& "ResultClass = CIM_DataFile")
For Each objFile in colFiles
If objFile.FileName & "." & objFIle.Extension = strArquivo Then
FSO.MoveFile objFile.Name , MID(objFIle.Name,1,Len(objFile.Name)-3) & "old"
End If
Next
End sub
Talvez tenha uma maneira mais facil de fazer isso. Exemplo:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colFiles = objWMIService.ExecQuery _
("Select * from CIM_DataFile where FileName Like '%autorun%'")
For Each objFile in colFiles
Wscript.Echo objFile.Name
objFSO.MoveFile objFile.Name , MID(objFile.Name,1,Len(objFile.Name)-3) & "old"
Next
Até mais,
Jesiel
Obs.: Se útil, classifique
- Marcado como Resposta Marcelo TI quinta-feira, 13 de agosto de 2009 21:58
Todas as Respostas
-
Olá,
Dá uma olhada no script abaixo:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
set FSo = CreateObject("Scripting.FileSystemObject")
Pasta = "C:\"
strArquivo = "teste.txt"
set folder = FSO.getFolder (Pasta)
BuscaArquivo Pasta
if folder.Subfolders.count > 0 then
for each SubFolder in folder.Subfolders
BuscaArquivo SubFolder
next
end if
Sub BuscaArquivo(strPasta)
Set colFiles = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='" &strPasta& "'} Where " _
& "ResultClass = CIM_DataFile")
For Each objFile in colFiles
If objFile.FileName & "." & objFIle.Extension = strArquivo Then
FSO.MoveFile objFile.Name , MID(objFIle.Name,1,Len(objFile.Name)-3) & "old"
End If
Next
End sub
Talvez tenha uma maneira mais facil de fazer isso. Exemplo:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colFiles = objWMIService.ExecQuery _
("Select * from CIM_DataFile where FileName Like '%autorun%'")
For Each objFile in colFiles
Wscript.Echo objFile.Name
objFSO.MoveFile objFile.Name , MID(objFile.Name,1,Len(objFile.Name)-3) & "old"
Next
Até mais,
Jesiel
Obs.: Se útil, classifique
- Marcado como Resposta Marcelo TI quinta-feira, 13 de agosto de 2009 21:58
-
-
-
Bem galera,
Estou desenvolvendo um script para meu melhor rendimento na empresa onde trabalho,
a idéia principal é a seguinte temos mais de 50 maquinas novas para colocar-mos o wallpaper padrão, tanto quando o usuário está logado, quanto quando não está logado, e deixar como padrão um screensaver
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\"& strComputer &"\root\default:StdRegProv")
'Este trecho coloca o papel de parede quando o usuário está logado
strValuePath = "Control Panel\Desktop"
strValueName = "Wallpaper"
strValue = "C:\WINDOWS\Web\Wallpaper\LIG_on.bmp"
objReg.SetStringValue HKEY_CURRENT_USER,strValuePath,strValueName,strValue
strValueNameONWS = "WallpaperStyle"
strValueONWS = "2"
objReg.SetStringValue HKEY_CURRENT_USER,strValuePath,strValueNameONWS,strValueONWS
'Este trecho coloca o papel de parede quando o usuário não está logado
strKeyPathOFF = "DEFAULT\Control Panel\Desktop"
strValueNameOFF = "Wallpaper"
strValueOFF = "C:\WINDOWS\Web\Wallpaper\LIG_off.bmp"
objReg.SetStringValue HKEY_USER,strKeyPathOFF,strValueNameOFF,strValueOFF
'Este trecho coloca o screensaver como padrão
KeyPath = ".DEFAULT\Software\Microsoft\ScreenSavers\Flying Objects"
objReg.CreateKey HKEY_USER, KeyPath
strKeyPathscr = ".DEFAULT\Software\Microsoft\Screensavers\Flying Objects"
strValueNamescr = "Texture"
strValuescr = "C:\WINDOWS\Web\Wallpaper\LIG_scr.bmp"
objReg.SetStringValue HKEY_USER,strKeyPathscr,strValueNamescr,strValuescr
porém o que eu notei que quando rodo este com meu usuário ele efetua a primeira alteração e falta ele executar a parte do wallpaper in logoff e do screensaver.