Logo Hardware.com.br
Kosloski
Kosloski Geek Registrado
2.1K Mensagens 119 Curtidas

Backup automatizado de Pendrive - em arquivo Batch

#1 Por Kosloski 29/04/2008 - 15:13
Além do IF, tem o comando que move os arquivos conforme a data, isso talvez ajude, no primeiro post falo sobre isso.
/D:data Copia os arquivos modificados na data especificada ou posterior.
A data pode ser no formato dd/mm/aa.

Mas entendi bem o que deseja fazer

>> mova de A para C todos os arquivos diferentes de B.
Em tese é isso né?


E respondendo a dúvida de um colega acima, para compactar usa-se o comando 'COMPACT':
COMPACT [/C | /U] [/S[stick_out_tongue.pngasta]] [/A] [/i] [/F] [/Q] [arquivo [...]]

/C Compacta os arquivos especificados. Os arquivos que forem
adicionados depois nesta pasta serão compactados.
/U Descompacta os arquivos especificados. Os arquivos que forem
adicionados depois nesta pasta não serão compactados.
/S Efetua a operação desejada nos arquivos da pasta especificada
e em todas as subpastas. Caso não seja especificado, será usada a
pasta atual.
/A Exibe os arquivos ocultos e de sistema. Normalmente, estes arquivos
seriam omitidos.
/I Continua a executar a operação especificada mesmo após a
ocorrência de erros. Normalmente, o programa pararia quando um erro
fosse encontrado.
/F Força a operação de compactação em todos os arquivos especificados,
mesmo naqueles que já estejam compactados. Normalmente, os
arquivos já compactados seriam ignorados.
/Q Relata somente as informações essenciais.
arquivo Especifica um padrão, arquivo ou pasta.

Utilizado sem parâmetros, COMPACT exibe o estado de compactação da
pasta atual e de quaisquer arquivos nela contidos. Você pode usar
múltiplos nomes de arquivos e caracteres curingas, e deve colocar
espaços entre os parâmetros.
Kosloski
Kosloski Geek Registrado
2.1K Mensagens 119 Curtidas
#16 Por Kosloski
27/07/2008 - 23:47
Além do IF, tem o comando que move os arquivos conforme a data, isso talvez ajude, no primeiro post falo sobre isso.
/D:data Copia os arquivos modificados na data especificada ou posterior.
A data pode ser no formato dd/mm/aa.

Mas entendi bem o que deseja fazer

>> mova de A para C todos os arquivos diferentes de B.
Em tese é isso né?


E respondendo a dúvida de um colega acima, para compactar usa-se o comando 'COMPACT':
COMPACT [/C | /U] [/S[stick_out_tongue.pngasta]] [/A] [/i] [/F] [/Q] [arquivo [...]]

/C Compacta os arquivos especificados. Os arquivos que forem
adicionados depois nesta pasta serão compactados.
/U Descompacta os arquivos especificados. Os arquivos que forem
adicionados depois nesta pasta não serão compactados.
/S Efetua a operação desejada nos arquivos da pasta especificada
e em todas as subpastas. Caso não seja especificado, será usada a
pasta atual.
/A Exibe os arquivos ocultos e de sistema. Normalmente, estes arquivos
seriam omitidos.
/I Continua a executar a operação especificada mesmo após a
ocorrência de erros. Normalmente, o programa pararia quando um erro
fosse encontrado.
/F Força a operação de compactação em todos os arquivos especificados,
mesmo naqueles que já estejam compactados. Normalmente, os
arquivos já compactados seriam ignorados.
/Q Relata somente as informações essenciais.
arquivo Especifica um padrão, arquivo ou pasta.

Utilizado sem parâmetros, COMPACT exibe o estado de compactação da
pasta atual e de quaisquer arquivos nela contidos. Você pode usar
múltiplos nomes de arquivos e caracteres curingas, e deve colocar
espaços entre os parâmetros.
Kosloski
Kosloski Geek Registrado
2.1K Mensagens 119 Curtidas
#18 Por Kosloski
28/07/2008 - 00:04
Mas aqui acho que não vai funcionar, pois os arquivos são imagens e não foram alteradas.
Você pode tentar mover todas as imagens... Usaria algo como [*.jpg], esse asterisco indica algo assim: [????????], acaso coloque [*.*] indicaria todos os arquivos de todas as extensões [????????.???]. E ainda tem a opção de selecionar todos os que têm igual nome, mas de extensões diferentes [nome_do_arquivo.*]
Pedro Jotha
Pedro Jotha General de Pijama Registrado
4.3K Mensagens 152 Curtidas
#19 Por Pedro Jotha
09/08/2008 - 21:15
RRH disse:
Caro Kosloski, gostaria de saber se é possivel criar um bat para copiar arquivos do pc para o pendrive, mas de forma que o batch identifique a letra do pendrive.

Para identificar a letra do pendrive, substitua a linha
[code=rich]XCOPY L:\*.* /E /S C:\Backup[/code]por
[code=rich]XCOPY *.* /E /S C:\Backup[/code]Isso só funcionará se o .bat estiver no pendrive. Também há como deixar mais funcional de acordo com seu gosto, alterando coisas. Veja o exemplo de como ficou o meu:
[code=rich]@echo off
:inicio
title Backup
color 9
echo.
echo Backup de Pen Drive
echo.
echo O que deseja fazer?
echo.
echo 1. Fazer backup
echo 2. Restaurar backup
echo 3. Backup personalizado
echo 4. Sair
echo.
set /p go=Digite a op‡Æo desejada:
goto %go%
:1
color c
md E:\Backups\Pendrive
echo.
echo.
echo Fazendo Backup...
XCOPY *.* /E /S E:\Backups\Pendrive\
color a
echo.
echo Processo finalizado! Pressione ENTER...
pause >nul
goto 4
:2
echo.
set /p und=Digite a letra atual do Pen Drive (D, E, F, etc...):
cls
color a
echo.
echo Restaurando arquivos de backup...
E:
cd backups
cd pendrive
XCOPY *.* /E /S %und%:\
echo.
goto 4
:3
title Backup personalizado
cls
echo.
echo Backup personalizado.
echo.
set /p und=Digite a letra atual do Pen Drive (D, E, F, etc...):
echo.
echo O que deseja fazer?
echo.
echo 1. Fazer backup para um local espec¡fico no HD
echo 2. Restaurar backup para um local espec¡fico no Pen Drive
echo 3. Fazer backup de um local espec¡fico no Pen Drive
echo 4. Restaurar backup de um local espec¡fico no HD
echo 5. Voltar ao menu anterior
echo.
set /p opt=Digite a op‡Æo desejada:
if %opt%==1 goto s1
if %opt%==2 goto s2
if %opt%==3 goto s3
if %opt%==4 goto s4
:s1
title Fazer backup para um local espec¡fico no HD
echo.
echo Fazer backup para um local espec¡fico no HD
echo.
set /p cmn=Digite o caminho de destino do backup (NÆo termina com \):
echo.
md %cmn%
XCOPY *.* /E /S %cmn%\
echo.
echo Conclu¡do!
color a
pause >nul
goto 4
:s2
title Restaurar backup para um local espec¡fico no Pen Drive
echo.
echo Restaurar backup para um local espec¡fico no Pen Drive
echo.
set /p cmn=Local especifico: %und%:\
md %und%:\%cmn%
echo.
E:
cd backups
cd pendrive
XCOPY *.* /E /S %und%:\%cmn%\
pause >nul
goto 4
:s3
title Fazer backup de um local espec¡fico no Pen Drive
echo.
echo 3. Fazer backup de um local espec¡fico no Pen Drive
echo.
set /p cmn=Local do Pen Drive a fazer backup:
echo.
echo o Backup será feiro em E:\Backups\Pendrive\Specific
set /p def=Definir outro local [S/N]
goto %def%
:s
echo.
set /p cmh=Caminho completo para destino de backup:
md %cmh%
goto sn
:n
set cmh=E:\Backups\Pendrive
goto sn
:sn
XCOPY %cmn%\*.* /E /S %cmh%\
echo.
color a
echo Conclu¡do!
pause >nul
goto 4
:s4
echo.
set /p cmn=Digite o caminho exato do HD onde estÆo os backups:
echo.
color c
XCOPY %cmn%\*.* /E /S %und%:\
echo.
color a
echo Conclu¡do!
goto 4
:s5
goto inicio
:4
title Sair do Backup
color 9
cls
echo.
echo Obrigado por usar esse software!
echo Pressione qualquer tecla para sair.
pause >nul

[/code]Use sua imaginação e seu conhecimento para deixar do modo que mais lhe agradar.

EDIT-----
Eu particularmente gostaria de aprender a fazer uma pasta direto na área de trabalho ou na pasta ‘Meus documentos’, pois todas as tentativas que fiz deram errado XD......................
Basta colocar no diretório de saída em vez de "C:\Backups" colocar "%USERPROFILE%\DESKTOP\Backup" ou "%MYDOCS%\Backup" Essas variáveis direcionam repectivamente para o Desktop e Meus documentos. Boa sorte! Espero ter sido útil.
Pedro Jotha
Pedro Jotha General de Pijama Registrado
4.3K Mensagens 152 Curtidas
#21 Por Pedro Jotha
30/08/2008 - 22:20
Se o .bat estiver no pen, basta colocar isso, pois ele copia para o diretório atual:

@echo off
set dst=C:\DOCUME~1\USUARIO\MINHAS~1\*.*
xcopy %dst%\*.* /e %cd%


Lembre-se que uma pasta com nome grande (Documents and settings por exemplo) deve ser representada por apenas oito dígitos, seguindo esse padrão:

Se tiver uma pasta com nome grande ficará assim: Exemplo:
Documments and Settings - DOCUME~1 (Termina com ~ Til e um número)
No caso de haver mais de uma pasta com os 6 primeiros dígitos iguais, fica assim: (A numeção final fica por ordem alfabética) Ex:
Minhas Imagens - MINHAS~1
Minhas Músicas - MINHAS~2
Como Imagens vem por ordem alfabética antes de Músicas, a numeração final fica em Imagens 1 e Músicas 2.
Em caso de ter espaço no nome da pasta, o espaço é ignorado. Ex:
All Users - ALLUSE~1


Ou, se quisesse setar na hora o local de origem, basta fazer assim:

@echo off
set /p cmn=Digite o diretorio de destino:
xcopy %cmn%\*.* /e %cd%


Para mudar o destino, basta botar xcopy %cmn%\*.* /e %cd%\PASTA, sendo PASTA o subdiretório desejado na raiz do pendrive.

O que identifica a letra do pendrive é a variável %CD%, que mostra o diretório atual. Isso fará ele copiar os arquivos para o diretório atual, no caso, a raiz do pen drive. (Somente se o .bat estiver na raiz do pendrive)

Espero ter sido útil.
DigUser
DigUser Super Participante Registrado
592 Mensagens 26 Curtidas
#23 Por DigUser
31/08/2008 - 14:09
Bem, se quiserem algo mais simples, que cria pastas para cada backup criado, tenho esse código:
@echo off
title Backup de PenDrive
cls
if EXIST "C:\backup" goto STEP1
echo Criando pasta C:\backup
md C:\backup
:STEP1
cd C:\backup
echo Digite a unidade do Pen-Drive: (Ex.: F)
set/p "cho=>"
cls
echo Unidade %cho%: escolhida.
set "num=0"
:STEP2
set/a "num+=1"
if EXIST "C:\backup\bac%num%" goto STEP2
:STEP3
echo Copiando arquivos do PenDrive para a pasta C:\backup\bac%num%
echo -------------------------
xcopy %cho%:\*.* /e /s /q /h C:\backup\bac%num%\
echo -------------------------
echo Copia terminada. Arquivos copiados para a pasta bac%num%
set/p "ult=Pressione qualquer tecla para sair."
exit

Você informa qual a unidade do PenDrive e ele cria um backup seguindo uma ordem, tipo, ele cria pastas como bac1, bac2, isso se essas pastas não existirem, ainda não testei qual seria o máximo, mas acho que seria infinito.

pedro.jotha, meus parabéns pelo código, só fui ver depois que criei o meu.
RRH
RRH Veterano Registrado
1.6K Mensagens 15 Curtidas
#24 Por RRH
01/09/2008 - 20:23
pedro.jotha disse:


@echo off
set /p cmn=Digite o diretorio de destino:
xcopy %cmn%\*.* /e %cd%
Para mudar o destino, basta botar xcopy %cmn%\*.* /e %cd%\PASTA, sendo PASTA o subdiretório desejado na raiz do pendrive.

O que identifica a letra do pendrive é a variável %CD%, que mostra o diretório atual. Isso fará ele copiar os arquivos para o diretório atual, no caso, a raiz do pen drive. (Somente se o .bat estiver na raiz do pendrive)

Espero ter sido útil.


Era exatamente o que eu queria!!! Obrigado.
Kosloski
Kosloski Geek Registrado
2.1K Mensagens 119 Curtidas
#26 Por Kosloski
18/09/2008 - 08:19
Playboy disse:
Pessoal, como faz para que ao plugar o pendriver o conteúdo dele seja todo copiado para um diretorio do disco c:\MinhaPasta? preciso muito disso.

abraços

Antes de mais nada você precisa escrever o script que cria a pasta no diretório desejado, e manter esse '.batch' salvo no pen drive. Em seguida incremente o script para copiar os arquivos para a pasta criada. Deixe esse arquivo com o nome de 'backup.bat'

Tudo isso não se faz sozinho concorda?
Portanto crie um arquivo chamado 'autorun.inf' e edite ele pelo bloco de notas, dessa forma:


[autorun]
open=backup.bat
icon=icone.ico (esta parte é opcional, só a adicione se tiver um ícone disponível)


Pronto, ao espetar o pendrive o autorun.inf entrará em ação, e sua ação é chamar o 'backup.bat' que copia seus arquivos.

Abrass tchau.gif
guilhermeholtz
guilhermehol... Highlander Registrado
22.5K Mensagens 416 Curtidas
#30 Por guilhermehol...
19/09/2008 - 16:58
Playboy disse:
Possivel deve ser guilhermeholtz, daqui a pouco aparece um ai e fala como fazer... to pesquisando, se encontrar alguma coisa eu posto aqui..

abraços

Olá!

Eu criei o autorun.inf tanto para o arquivo .BAT quanto para um .COM que converti a partir do .BAT...

Para ambos, apareceu aquela tela perguntando o que eu queria fazer, mas nenhum deles foi aberto automaticamente...

Inclusive, tentei com um arquivo .EXE, sem sucesso...

Não sei não se há como... confused.png

Abraço!
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal