Batch-Satti
Se você ainda não é um membro cadastre-se!

Existem centenas de scripts para quem é membro.

As categorias para os membros cadastrados são:

BATCH-SCRIPTS COMPLETO.
(Espaço onde são postados os scripts que tenham funcionalidade completa)
BADCONS VIRUS E TROJANS .
(Espaço onde são postados scripts e técnicas em vírus trojans e worm baseados em scripts )
SOMENTE PARA MEMBROS.
(Espaço destinado aos membros discutirem ou tirarem duvidas)
TUTORIAIS E EXPLICAÇÕES.
(Aqui são colocadas as explicações de comandos e técnicas para confecção de scripts )

EXISTEM MUITAS OUTRAS CATEGORIAS MÁS ESSAS SÃO AS PRINCIPAIS !

ENTRE E PARTICIPE !!!!!!!
MENSAGENS AOS MEMBROS :
TIVEMOS QUE AUTORIZAR PROPAGANDAS NO FORUM E TALVEZ O FIREFOX E OUTROS NAVEGADORES NÃO FUNCIONEM
UTILIZEM O INTERNET EXPLORER OU ATUALIZEM PARA O FIREFOX 4.0 BETA

ASS. BOSS-HEAD


Pesquisa personalizada

Comparar Arquivos e Copiar

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Comparar Arquivos e Copiar

Mensagem por b.R NT em Qua Out 08, 2014 4:07 pm

Gostaria de um Script que comparasse uma lista com nomes em um arquivo .txt com uma pasta "origem"

Se a "origem" tiver alguma pasta cujo nome esteja no arquivo .txt copiará para uma outra pasta "destino"

encontrei esse script que se encontrado ele cria um arquivo COPIADO.log com os nomes, e se não encontrado cria FALHA.log.

mas não consigo fazer com que copie a pasta em si para o "destino"
Código:
@ECHO OFF
SET ORIGEM=C:\temp\original
SET DESTINO=C:\temp\backup

::LIMPA OS LOGS
DEL COPIADO.LOG /Q
DEL FALHA.LOG /Q

for /F "tokens=*" %%A IN (lista.txt) DO CALL :COPIA %%A
GOTO :EOF

:COPIA
echo Verificando %1 ...
IF EXIST %ORIGEM%\%1 (
   :: se existe copia e grava no log copiado
   copy %ORIGEM%\%1 %DESTINO% /Y

   echo %1 >> copiado.log

   :: VAI PARA O PROXIMO ARQUIVO
   GOTO :EOF
)

:: se não existe apenas grava no log falha
echo %1 >> falha.log

b.R NT

Idade : 25

Voltar ao Topo Ir em baixo

Re: Comparar Arquivos e Copiar

Mensagem por André Luiz em Qui Out 09, 2014 7:09 am

Aqui a lógica :
Código:
For /f "delims=" %%i in (' dir/s/b ') do For /f "delims=" %%w in (' Findstr /I /C:"%%i" "Arquivo.txt" ') do If /I "%%~fi"=="%%~w" ( Copy %%w "%userprofile%\desktop" )

Bom agora fica por você na hora de criar o arquivo, com a informação de cada arquivo!.
Vou dar um explicada bem básica.
O primeiro "For" vai ver os arquivos no diretório atual (Caso queira Mude)
O segundo "For" vai ler o arquivo.txt independente de maiúsculo ou minusculo, e depois ele joga para o If, e no if que mágica acontece, ele vai verificar os dois se um for igual ao outro ele copia para o desktop.

::Dir /S Para visualizar arquivos nas pasta atual e subpastas.
::Dir /B Para visualizar arquivos sem informações detalhadas. (Os dois jutos é obvio né!)
::If /I Serve para fazer comparações independentemente se maiúscula ou minuscula.
::~f Essa é um expansão de variável, que pode ser usado no for e no call.

OBS::. Na hora de salvar o arquivo dentro do .txt, é importante que ele esteja com o caminho inteiramente completo e se o caminho do arquivo tiver alguns acentos, então é preciso que todos estejam com os acentos reconhecido pelo Cmd. Exemplo : ã > Æ
Espero ter ajudado! até a próxima fica com Deus!!.
avatar
André Luiz

Idade : 20

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum