Ir para conteúdo
Fórum Script Brasil
  • 0

Atualizar Pasta Do Windows


Guest Delei

Pergunta

Como eu posso atualizar uma determinada pasta aberta no windows. Já tentei usando "sendkeys" mas o comando parece ser executado na janela de execução do batch que chama o script ao invés da pasta desejada.

Se alguém souber como eu determino no script a janela à ser atualizada eu agradeço.

segue código do meu script:

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.SendKeys "{F5}"

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Consegui acertar parte do meu código, porém ele tá dependendo de uma coisa para funcionar. Vejam o código que criei:

dim filesys

Set filesys = CreateObject("Scripting.FileSystemObject")

filesys.DeleteFile "H:\*.txt"

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.SendKeys "{F5}"

Minha dificuldade é que o sistema retorna uma tela de erro no script, caso não haja nenhum arquivo dentro do diretório.

Tentei estas duas linhas:

If filesys.FileExists ("H:\*.txt") Then

End If

Só que o sistema não retorna erro, mas também não deleta os arquivos.

Alguma solução?

Link para o comentário
Compartilhar em outros sites

  • 0

Me expressei mal:

Aquelas linhas foram acrescentadas no script para criar a condição de que o script somente delete se o mesmo existir. O código ficaria assim:

dim filesys

Set filesys = CreateObject("Scripting.FileSystemObject")

If filesys.FileExists ("H:\*.txt") Then[\B]

filesys.DeleteFile "H:\*.txt"

End If

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.SendKeys "{F5}"

Mesmo assim agradeço e desculpa a minha falha.

Link para o comentário
Compartilhar em outros sites

  • 0

o problema é q o * não funciona, acho q o visual basic tenta procurar um arquivo que chama *.txt

mas c pode fazer assim:

Dim filesys As New FileSystemObject, y As Folder, z As File

Set filesys = CreateObject("Scripting.FileSystemObject")
Set y = filesys.GetFolder("H:\")
For Each z In y.Files
    filesys.DeleteFile y.Path & "\" & z.Name
Next
entendeu? o codigo procura todos os arquivos que estao no diretorio e apaga todos eles. se voce quer filtrar para q ele so apague os que forem txt, é só ver se o nome do arquivo acaba com ".txt" tipo assim:
If Right(z.Name, 4) = ".txt" Then x.DeleteFile y.Path & "\" & z.Name

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, notei que estou no tópico errado.

Obrigado pela força cara.

Já consegui acertar meu código, só faltou uma coisa que tá me intrigando a cabeça. Então devo postá-la no tópico certo.

Caso possa me ajudar, melhor. Aí vai:

Eis meu código atual

dim filesys

Set filesys = CreateObject("Scripting.FileSystemObject")

'''''''' If filesys.FileExists("H:\*.txt") Then

filesys.DeleteFile "H:\*.txt"

'''''''' WScript.Echo("Arquivos deletados com sucesso!")

''''''' Else

''''''' WScript.Echo("Não existem arquivos a serem deletados!")

''''''' End If

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.SendKeys "{F5}"

Este código funciona perfeitamente, porém ao eliminar as aspas dos demais códigos, os wildcards (*.txt) deixam de funcionar. Se eu mudo o wildcard por um nome do tipo (teste.txt) o script deleta o arquivo especificado e ainda me retorna as mensagens sem nenhum problema.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...