none
Apagar com usuario que logou RRS feed

  • Pergunta

  • o nosso amigo Laerte passou o seguinte script para min que apaga os arquivos temporarios, funcionou , ok.

    strPasta = "C:\Documents and Settings\usuario\Configurações locais\Temporary Internet Files"
    set FSo = CreateObject("Scripting.FileSystemObject")
    Apagar_Arquivos(strPasta)
    msgbox "teste"
    Sub Apagar_Arquivos(Pasta)
    set folder = FSO.getFolder (Pasta)
    if folder.Subfolders.count > 0 then
    for each SubFolder in folder.Subfolders
    Apagar_Arquivos SubFolder
    next
    end if
    for each file in folder.files
    set objFile = FSO.GetFile(file)
    File.delete
    next
    end sub

    Gostaria de saber se tem com eu passar nesta string "strPasta" alguma maneira que qualquer usuario que logar apague os arquivos
    exemplo:

    "C:\Documents and Settings\usuario1\Configurações locais\Temporary Internet Files"
    "C:\Documents and Settings\usuario2\Configurações locais\Temporary Internet Files"
    "C:\Documents and Settings\usuario3\Configurações locais\Temporary Internet Files"

    ou seja que alguma variavel ja descubra qual o nome do usuario que esta logando e ja adicione neste caminho.

    fiz as seguintes substituições : %username%, &username&, %user%, %usuario%. Porem na hora de executar o script ele alerta dizendo caminho não encontrado.
    OBS: digitando o endereço "C:\Documents and Settings\%username%\Configurações locais\Temporary Internet Files" no explorer ele abre normalmente , só no script que não funciona.

    Gostaria tambem que o script acima , (Laerte), apagasse as pastas vazias tambem, ja que ele apaga todos os arquivos da pasta e sub - pastas , porem não apaga as pastas (Ficam vazias).


    ATENÇÃO: Estou rodando o script localmente atraves do gpedit.msc, não tem servidor na rede , ou seja , o script esta no computador mesmo.
    sexta-feira, 28 de março de 2008 22:27

Respostas

  • Charles segue a alteração que vocë quer Wink

    set wshnetwork = createobject("wscript.network")

    strPasta = "C:\Documents and Settings\" & wshnetwork.username & "\Configurações locais\Temporary Internet Files"
    set FSo = CreateObject("Scripting.FileSystemObject")
    Apagar_Arquivos(strPasta)
    msgbox "teste"
    Sub Apagar_Arquivos(Pasta)
    set folder = FSO.getFolder (Pasta)
    if folder.Subfolders.count > 0 then
    for each SubFolder in folder.Subfolders
    Apagar_Arquivos SubFolder
    next
    end if
    for each file in folder.files
    set objFile = FSO.GetFile(file)
    File.delete
    next
    end sub

    domingo, 30 de março de 2008 00:32

Todas as Respostas

  • Charles segue a alteração que vocë quer Wink

    set wshnetwork = createobject("wscript.network")

    strPasta = "C:\Documents and Settings\" & wshnetwork.username & "\Configurações locais\Temporary Internet Files"
    set FSo = CreateObject("Scripting.FileSystemObject")
    Apagar_Arquivos(strPasta)
    msgbox "teste"
    Sub Apagar_Arquivos(Pasta)
    set folder = FSO.getFolder (Pasta)
    if folder.Subfolders.count > 0 then
    for each SubFolder in folder.Subfolders
    Apagar_Arquivos SubFolder
    next
    end if
    for each file in folder.files
    set objFile = FSO.GetFile(file)
    File.delete
    next
    end sub

    domingo, 30 de março de 2008 00:32
  • Olá,

     

    só pra esclarecer: as variáveis de ambiente não estão disponíveis automaticamente como variáveis no VBScript. Para acessá-las, você precisa usar um objeto do Windows Script Host:

     

    Set ObjShell = wscript.createobject("wscript.shell")
    Set oEnv = ObjShell.Environment("User")
    username = oEnv("username")

     

    http://viniciuscanto.blogspot.com/2007/04/variveis-de-ambiente-detalhe-importante.html

     

     

    []s,

     

    Vinicius Canto

    MVP Windows Server - Admin Frameworks

    domingo, 30 de março de 2008 13:50
    Moderador
  • Mais uma vez muito obrigado Laerte , funcionou do jeito que eu queria.

    Valeu mesmo.

     

    Obrigado pela dica Vinicius

    segunda-feira, 31 de março de 2008 21:06