none
BAT para cópia de arquivos com reconhecimento de unidade. RRS feed

  • Pergunta

  • Boa noite a todos,

     

    Gostaria de elaborar uma bat que efetuasse o reconhecimento de uma unidade (que está fixada como f:) copiar os arquivos para ela e fazer também a cópia desse backup para a pasta c:\backup. Fiz um Bat porém não está rodando vocês poderiam me ajudar?

     

    Segue código que eu fiz:

    @echo Efetuando Backup dos arquivos para pendrive


    @echo off

    set unidade=f:

    f:

    @echo off
    if "%unidade%" = = f: (xcopy /y c:\arquivos\*.* f:\backup
                              xcopy /y c:\arquivos\*.* c:\backup)
    Else

    (xcopy /y c:\arquivos\*.* c:\backup)

    @echo off
    if %unidade% = = f: (@ECHO Arquivos copiados com sucesso para %unidade% e c:\backup!)

    Else

    (@ECHO Arquivos copiados com sucesso somente para c:\backup!)
    (@ECHO Programa encerrado!)


    pause

     

    Gostaria que me ajudassem, fico no aguardo de resposta.

     

    Abraços!


    Granduando em Redes de Computadores, adquirindo conhecimentos na plataforma Microsoft Windows Server
    quinta-feira, 27 de outubro de 2011 01:08

Respostas

  • Carlos,

    Pelo que entendi vc faz um teste para verificar se o F: está presente.

    Simplifiquei o seu script e cheguei a isto:

     

    @echo Efetuando Backup dos arquivos para pendrive
    
    set unidade=F:
    
    %unidade% 
    
    @echo off
    if %cd:~0,2% == %unidade% (
    	xcopy /y c:\arquivos\*.* f:\backup
    	xcopy /y c:\arquivos\*.* c:\backup
    	@ECHO Arquivos copiados com sucesso para %unidade% e c:\backup!
    ) ELSE (
    	xcopy /y c:\arquivos\*.* c:\backup
    	@ECHO Arquivos copiados com sucesso somente para c:\backup!
    )
    
    @ECHO Programa encerrado!)
     
    pause
    

     

    Ainda com uma vantagem, se depois o pen drive passar a ser,por exemplo, a letra H:, basta vc alterar somente a primeira linha(set unidade)

     


    Fábio de Paula Junior
    quinta-feira, 27 de outubro de 2011 10:46
    Moderador

Todas as Respostas

  • Carlos,

    Pelo que entendi vc faz um teste para verificar se o F: está presente.

    Simplifiquei o seu script e cheguei a isto:

     

    @echo Efetuando Backup dos arquivos para pendrive
    
    set unidade=F:
    
    %unidade% 
    
    @echo off
    if %cd:~0,2% == %unidade% (
    	xcopy /y c:\arquivos\*.* f:\backup
    	xcopy /y c:\arquivos\*.* c:\backup
    	@ECHO Arquivos copiados com sucesso para %unidade% e c:\backup!
    ) ELSE (
    	xcopy /y c:\arquivos\*.* c:\backup
    	@ECHO Arquivos copiados com sucesso somente para c:\backup!
    )
    
    @ECHO Programa encerrado!)
     
    pause
    

     

    Ainda com uma vantagem, se depois o pen drive passar a ser,por exemplo, a letra H:, basta vc alterar somente a primeira linha(set unidade)

     


    Fábio de Paula Junior
    quinta-feira, 27 de outubro de 2011 10:46
    Moderador
  • Fábio,

     

    Obrigado pela ajuda eu tinha a ideia como eram os comandos, porém não estava conseguindo montar a sintaxe obrigado pela ajuda está funcionando ok.

     

    Obrigado!

     

    Abraço!

    Sucesso!

     


    Granduando em Redes de Computadores, adquirindo conhecimentos na plataforma Microsoft Windows Server
    quinta-feira, 27 de outubro de 2011 21:43
  • Tem como eu fazer isso em linux?
    sexta-feira, 3 de outubro de 2014 21:19
  • Dionata,

    Provavelmente é possível fazer isto em Linux. Porém aqui neste fórum será um pouco mais dificil de conseguir ajuda pra você, visto que é um fórum voltado para ferramentas Microsoft.


    Fábio de Paula Junior

    sexta-feira, 3 de outubro de 2014 22:45
    Moderador