none
bat para apagar pastas e subpastas RRS feed

  • Pergunta

  • Boa tarde sou novo aqui e gostava que me ajudassem.

    Tenho um comando bat, que serve para copiar um backup de uma pasta para outra, e que esta sendo usado no programador de tarefas, que faz correctamente.

    O problema que tenho é que depois de copiar de um lado para outro ele apague as subpastas deixando a pasta principal limpa e pronta para receber um novo backup, não estou conseguindo fazer isto.

    o Bat é este!

    set todos os dias=%date:~0,43%

    if %todos os dias%==01 set mes=Jan
    set ano=%date:~6.0%

    md "U:\todos os dias\%todos os dias%"

    set pasta_origem=U:\Semanal

    set pasta_destino=U:\todos os dias\%todos os dias%\

    xcopy /s/q "%pasta_origem%\*.*" "%pasta_destino%"

    Ele faz isto tudo correto, agora como faço para ele apagar as subpastas da pasta Semanal?

    Desde já muito obrigado pela vossa ajuda.


    • Editado Renato Jardim segunda-feira, 30 de outubro de 2017 17:11
    segunda-feira, 30 de outubro de 2017 17:09

Respostas

  • Desculpa erro meu testei com outra drive e não coloquei corretamente o caminho

    Agora sim funcionou

    Muito muito obrigado dou 10* para a vossa ajuda.

    Não esqueça de marcar a resposta como solução, ajuda quem te ajuda.
    • Marcado como Resposta Renato Jardim quarta-feira, 8 de novembro de 2017 16:33
    terça-feira, 31 de outubro de 2017 18:30

Todas as Respostas

  • Boa tarde sou novo aqui e gostava que me ajudassem.

    Tenho um comando bat, que serve para copiar um backup de uma pasta para outra, e que esta sendo usado no programador de tarefas, que faz correctamente.

    O problema que tenho é que depois de copiar de um lado para outro ele apague as subpastas deixando a pasta principal limpa e pronta para receber um novo backup, não estou conseguindo fazer isto.

    o Bat é este!

    set todos os dias=%date:~0,43%

    if %todos os dias%==01 set mes=Jan
    set ano=%date:~6.0%

    md "U:\todos os dias\%todos os dias%"

    set pasta_origem=U:\Semanal

    set pasta_destino=U:\todos os dias\%todos os dias%\

    xcopy /s/q "%pasta_origem%\*.*" "%pasta_destino%"

    Ele faz isto tudo correto, agora como faço para ele apagar as subpastas da pasta Semanal?

    Desde já muito obrigado pela vossa ajuda.


    Se eu entendi bem a pasta principal seria a pasta origem "U:\Semanal".
    Tente o seguinte:

    set todos os dias=%date:~0,43%

    if %todos os dias%==01 set mes=Jan
    set ano=%date:~6.0%

    md "U:\todos os dias\%todos os dias%"

    set pasta_origem=U:\Semanal

    set pasta_destino=U:\todos os dias\%todos os dias%\

    xcopy /s/q "%pasta_origem%\*.*" "%pasta_destino%"

    U:

    cd\

    cd Semanal

    rmdir /S /Q U:\Semanal

    Pelo fato de estar com o acesso ativo na pasta origem o comando não deleta a mesma mas deleta tudo que tiver dentro, pastas e arquivos.

    Espero ter ajudado.

    • Sugerido como Resposta DaniGS terça-feira, 31 de outubro de 2017 13:05
    terça-feira, 31 de outubro de 2017 12:35
  • Boa tarde

    desde já muito obrigado.

    Mas o comando não apagou as subpastas.

    tentei tb o comando RD, não apagou.

    terça-feira, 31 de outubro de 2017 12:53
  • Desculpa erro meu testei com outra drive e não coloquei corretamente o caminho

    Agora sim funcionou

    Muito muito obrigado dou 10* para a vossa ajuda.

    terça-feira, 31 de outubro de 2017 12:56
  • Desculpa erro meu testei com outra drive e não coloquei corretamente o caminho

    Agora sim funcionou

    Muito muito obrigado dou 10* para a vossa ajuda.

    Não esqueça de marcar a resposta como solução, ajuda quem te ajuda.
    • Marcado como Resposta Renato Jardim quarta-feira, 8 de novembro de 2017 16:33
    terça-feira, 31 de outubro de 2017 18:30
  • Boa tarde Dani já agora pode me dizer se sabe algum comando que possa criar uma pasta com os nome ex" Semana 45" e assim sucessivamente. Para que as respetivas pastas dos dias caiam ai.

    Ex semana 45 ( Dias 5 a 11 de novembro )

        senana 46   ( dias 12 a 18 de novembro)

    desde já obrigado pela resposta

     
    quarta-feira, 8 de novembro de 2017 16:44