none
Excluir arquivo com um determinado nome e extensão. RRS feed

  • Pergunta

  • Bom gostaria de saber como posso excluir um arquivo do word por exemplo com a extensão .docx que contem no seu nome os seguintes caracteres "comercial".....

    Por exemplo tenho vários arquivos com o nome:

    comercial_45.docx

    comercial_71.docx

    comercial_44.docx

    entrevista_34.docx

    Queria um script que possa excluir somente os de nome "comercial" e permanecer a de nome "entrevista" assim como os demais arquivos das pastas.

    Há quero executa-lo nas sub-pastas também sem excluí-las. 

    quarta-feira, 16 de junho de 2010 21:32

Respostas

  • Lucas,

    Acrescente a linha abaixo no inicio do script.

    On Error Resume Next

    Dá esse erro porque já não tinha mais arquivos na pasta.

    Quanto aos arquivos com comercial no meio altere a linha abaixo.

    De: strArquivos = "\comercial*.docx"

    Para: strArquivos = "\*comercial*.docx"

    Qualquer dúvida poste.

    Abraço.


    Gabriel Nascimento MCP / MCTS / MCSA / MCSE / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    sexta-feira, 18 de junho de 2010 01:58

Todas as Respostas

  • Lucas,

    Use esse código, só troque o caminho.

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.DeleteFile("c:\teste\comercial*.docx"), true
    Wscript.Echo "Concluido"

    Qualquer dúvida poste e se for útil vote.

    Abraço.


    Gabriel Nascimento MCP / MCTS / MCSA / MCSE / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    quinta-feira, 17 de junho de 2010 00:43
  • Lucas,

    Use esse código, só troque o caminho.

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.DeleteFile("c:\teste\comercial*.docx"), true
    Wscript.Echo "Concluido"

    Qualquer dúvida poste e se for útil vote.

    Abraço.


    Gabriel Nascimento MCP / MCTS / MCSA / MCSE / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.

    Gabriel vlw por postar esta solução.

    Ele funcionou mas só tem um problema ele exclui direto as sub-pastas que estão dentro desta outra pasta.

    E se eu tiver um arquivo com o nome somente "Comercial.docx" ele não será apagado. 

    Queria verificar nas sub-pastas também se possível sem deleta-las.

    Outra coisa na mensagem de concluído poderia colocar a data da conclusão diminuído de dos dias?? Esse comando usarei para outro script que tenho aki. 

    Eu encontrei essa solução em um fórum sobre outro tipo de exclusão só que ele da erro na linha 6 no caracter F do FOR.

     

     

    strComputer = "."

      Set objWMIService = GetObject("winmgmts:" _

       & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

      Set colFiles = objWMIService.ExecQuery _

       ("SELECT * FROM CIM_DataFile WHERE path = 'c:\teste\' and Extension = 'doc'")

      For Each objFile in colFiles

        if Instr(lCase(objfile.filename), "azul") then 

         objFile.Delete

        end if

      Next

    quinta-feira, 17 de junho de 2010 02:23
  • Lucas,

    Teste com esse script, só altere a segunda linha.

    Dim strPastaRaiz, strArquivos, objPastaRaiz, objSubPastas
    strPastaRaiz = "c:\Users\Gabriel\Desktop\teste"
    strArquivos = "\comercial*.docx"

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.DeleteFile(strPastaRaiz & strArquivos), true

    Set objPastaRaiz = objFSO.GetFolder(strPastaRaiz)
    Set objSubPastas = objPastaRaiz.SubFolders
    For Each SubPasta In objSubPastas
        objFSO.DeleteFile(SubPasta.Path & strArquivos), True
    Next

    WScript.Echo "Concluido"

    Abraço.


    Gabriel Nascimento MCP / MCTS / MCSA / MCSE / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    quinta-feira, 17 de junho de 2010 04:03
  • Lucas,

    Teste com esse script, só altere a segunda linha.

    Dim strPastaRaiz, strArquivos, objPastaRaiz, objSubPastas
    strPastaRaiz = "c:\Users\Gabriel\Desktop\teste"
    strArquivos = "\comercial*.docx"

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.DeleteFile(strPastaRaiz & strArquivos), true

    Set objPastaRaiz = objFSO.GetFolder(strPastaRaiz)
    Set objSubPastas = objPastaRaiz.SubFolders
    For Each SubPasta In objSubPastas
        objFSO.DeleteFile(SubPasta.Path & strArquivos), True
    Next

    WScript.Echo "Concluido"

    Abraço.


    Gabriel Nascimento MCP / MCTS / MCSA / MCSE / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.

    Cara eu executei 3 vezes tranquilo depois da erro na linha 6 caracter 3 que seria o o 

    da o seguinte erro:

    ---------------------------

    Windows Script Host

    ---------------------------

    Script: C:\ExcluirTemporarios\aa.vbs

    Linha: 6

    Caract.: 1

    Erro: Arquivo não encontrado

    Código: 800A0035

    Origem: Erro de tempo de execução do Microsoft VBScript

     

    ---------------------------

    OK   

    ---------------------------

    sabe o que pode ser??

    Outra coisa era isso mesmo só falto uma coisa quando eu tenho o Comercial no meio por exemplo

    huhuh_comercial_jhjk.docx 

    Teria como excluir tbm?

    quinta-feira, 17 de junho de 2010 11:59
  • Lucas,

    Acrescente a linha abaixo no inicio do script.

    On Error Resume Next

    Dá esse erro porque já não tinha mais arquivos na pasta.

    Quanto aos arquivos com comercial no meio altere a linha abaixo.

    De: strArquivos = "\comercial*.docx"

    Para: strArquivos = "\*comercial*.docx"

    Qualquer dúvida poste.

    Abraço.


    Gabriel Nascimento MCP / MCTS / MCSA / MCSE / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    sexta-feira, 18 de junho de 2010 01:58