Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xdbzx

[.BAT]Comparar dois textos e gerar um terceiro somente com o conteudo

Recommended Posts

Bom dia a todos

Estou com um problema aqui e gostaria da ajuda de vocês para solucionar

Eu tenho 2 arquivos txt

1 deles é atualizado a cada 5 minutos com novas informações

o outro é um txt com informações fixas

Queria saber se tem algum comando ou jeito de fazer em .bat para comparar esses dois arquivos e gerar um terceiro somente com a informacao nova

Ex.
txt1
1 2 3
depois de 5 minutos

txt1

1 2 3 4 5 6

txt 2

1 2 3

( o que eu queria seria isso )

txt 3

4 5 6

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Lonn
      Hi
      I need help creating some .exe or .bat that would completely delete some specific files from my computer.
      An app that scans and deletes all files and traces by name + format
      example:
      delete.cfg
      As the specific directory would vary from computer to computer, I would like help to create one that excludes only using the file name and format
      Hope to get answers, thanks!
    • Por Koromon
      Olá galera,
      Criei um arquivo .bat para rodar comandos do MySQL automaticamente, com o agendador de tarefas do computador.
      Nesse arquivo .bat tem dois tipos de comandos:
      1. Inserir dados .txt em uma primeira tabela (I) no MySQL;
      2. Inserir os dados da primeira tabela (I) em outra (II) (para criar tipo um histórico de dados);
      O problema é que esse .bat só faz um dos comandos (inserir dados .txt na primeira tabela) o outro ele ignora.
      Se eu fizer manualmente pelo MySQL Workbench, roda tudo tranquilo. Alguém imagina o que pode estar acontecendo?

      Antigamente, eu tive esse mesmo problema em outro projeto, mas o motivo é que eu não colocava ponto e virgula (;) no comando problemático. Nisso, manual rodava, automático não.
      Mas aconteceu novamente (agora com o insert into), mas dessa vez eu coloquei o (;) e mesmo assim não resolveu.

      Código utilizado:
      insert into tabela1 (coluna1, coluna2, coluna3) 
      select coluna11, coluna22, coluna33 from tabela2;
    • Por Suporte Risti
      Bom dia, estou iniciando com bando de dados oracle e plsql e estou precisando de uma ajuda para criar um arquivo .bat para nossa empresa em que o usuário consiga apagar os horários do nosso banco de dados, mas não sei como fazer a procedure identificar o dado digitado na variável do .bat
       
      script do .bat
      @echo Off title limpeza de horarios. : inicio cls echo -------------------Informe uma data valida, apenas numeros------------------- echo . echo ------------------------------informe a data--------------------------------- set /p data = echo . echo . sqlplus usuario/senha@intancia @script.sql cls echo . : Fim echo . echo -----------------Horario apagado----------------- echo . pause O script em questão é esse, ele executa uma procedure, ela apaga os horários, o parâmetro da mesma é uma data ex: abaixo.
      set serveroutput on begin sp_apaga_horario('31072019'); end; / exit como eu faço para o dado salvo na variável data seja executado no parâmetro da procedure? não estou conseguindo fazer isso, estou tendo que alterar o script para data que o usuário quer apagar e somente executando o .bat digitando números aleatórios para que ele não trave, não sei como fazer para a mesma identificar esse dado estando em um script diferente.
       
      Quem souber e puder me ajudar ja agradeço desde já.
    • Por cesarhtc
      Bom dia, estou tentando renomear arquivos (VÁRIOS) em um pasta via BATCH. Já pesquisei tentei diversos scripts mas nada acontece.
       
      O que eu quero é colocar um prefixo no nome atual.
       
      exemplo:  23.456.pdf ==> teste_23.456.pdf
       
      forfiles /P c:\temp\ /c "cmd /c rename @path @fname_teste.@ext"
       
      Desde já agradeço
    • Por ghlevin
      Preciso criar um arquivo BAT que deverá ser executado todo dia 25. Ele deverá executar uma função chamada emailAniversariantes(), que foi definida para a programação de um site dentro de dois arquivos (controller e model).
      Como eu assumi esse site de outro desenvolvedor e o mesmo utilizava de um aplicativo pra executar essa função todo dia 25, precisaria que o arquivo BAT fizesse o mesmo. Acredito que a utilização de comandos PHP para o prompt de Windows possam ser a solução. Mas ainda não achei na internet os comandos corretos pra executar direto essa função do controller.
      Minha função dentro do arquivo do diretório Model:
      public function emailAniversariantes(){ $data = getdate(); $mes = $data[mon]; $ano = $data[year]; if($mes==12){ $mes = 1; $ano = $ano+1; }else{ $mes = $mes+1; if($mes<10){ $mes = '0'.$mes; } } $sqlUnidades = "select id, nome from unidade where ind_unidade_ativa=1 order by nome"; $resUnidades = System::element('db')->query($sqlUnidades); $corpo = ""; $corpo .= "<div style='float:left;width:100%; height:3px; background-color:gray; margin-bottom:20px;'></div>"; $corpo .="<div style='font-family:Lucida Sans; font-size:13px;' color='black'> <br>Bom dia.<br>Segue abaixo a relação dos aniversariantes do próximo mês.<br> Se possível, sugerimos que entrem em contato com eles para desejar feliz aniversário!<br><br><br> </div>"; foreach ($resUnidades as $rUnidades){ $sql = "Select u.id as id_usuario, i.id as id_investidor, uu.id_unidade, un.nome nome_unidade, u.email, DATE_FORMAT(i.data_nasc, '%d/%m/%Y') as data_nasc, i.razao_social as nome, i.telefone, i.nome_responsavel, (Select count(*) from usuario u join usuario_unidade uu on (uu.id_usuario = u.id) join investidor i on (i.id_usuario = u.id) where uu.id_unidade = ".$rUnidades['id']." and month(i.data_nasc)=".$mes.") AS count from usuario u join usuario_unidade uu on (uu.id_usuario = u.id) join unidade un on (un.id = uu.id_unidade) join investidor i on (i.id_usuario = u.id) where uu.id_unidade = ".$rUnidades['id']." and month(i.data_nasc)=".$mes." ORDER BY i.razao_social"; $res = System::element('db')->query($sql); if($res[0]['count']>=1){ $corpo .="<div style='width:100%; height:100%; float: left; margin: 25px 0;'>"; $corpo .="<b>Unidade: ".$rUnidades['nome']."</b>"; $corpo .="<table style='width: 100%; border-collapse: collapse; display: table; background-color: #FFFFFF; border: 3px solid #E2E1E0; padding: 5px;'> <thead> <tr stile='border-collapse: collapse; border: 3px solid #E2E1E0; padding: 5px;'> <th style='border-collapse: collapse; background-color: #F7F7F7; border: 3px solid #E2E1E0; padding: 5px; text-align: center;'>Nome</th> <th style='border-collapse: collapse; background-color: #F7F7F7; border: 3px solid #E2E1E0; padding: 5px; text-align: center;'>Telefone</th> <th style='border-collapse: collapse; background-color: #F7F7F7; border: 3px solid #E2E1E0; padding: 5px; text-align: center;'>E-mail</th> <th style='border-collapse: collapse; background-color: #F7F7F7; border: 3px solid #E2E1E0; padding: 5px; text-align: center;'>Responsável</th> <th style='border-collapse: collapse; background-color: #F7F7F7; border: 3px solid #E2E1E0; padding: 5px; text-align: center;'>Data de Nascimento</th> </tr> </thead>"; $corpo .="<tbody>"; foreach ($res as $r){ $corpo .= "<tr stile='border-collapse: collapse; border: 3px solid #E2E1E0; padding: 5px;'>"; $corpo .= "<td style='border-collapse: collapse; background-color: #FFFFFF; border: 3px solid #E2E1E0; padding: 5px; text-align: center;'>".$r['nome']."</td>"; $corpo .= "<td style='border-collapse: collapse; background-color: #FFFFFF; border: 3px solid #E2E1E0; padding: 5px; text-align: center;'>".$r['telefone']."</td>"; $corpo .= "<td style='border-collapse: collapse; background-color: #FFFFFF; border: 3px solid #E2E1E0; padding: 5px; text-align: center;'>".$r['email']."</td>"; $corpo .= "<td style='border-collapse: collapse; background-color: #FFFFFF; border: 3px solid #E2E1E0; padding: 5px; text-align: center;'>".$r['nome_responsavel']."</td>"; $corpo .= "<td style='border-collapse: collapse; background-color: #FFFFFF; border: 3px solid #E2E1E0; padding: 5px; text-align: center;'>".$r['data_nasc']."</td>"; $corpo .= "</tr>"; } $corpo .="</tbody>"; $corpo .="</table></div>"; } } $corpo .= "<div style='width:100%; height:56px; float:left;'>"; $corpo .= "<table><font face='Lucida Sans'>"; $corpo .= "<tr>"; $corpo .= "<td style='float:left;'><div style='font-size:10px; float:left; width:200px; margin-top:5px; position:relative; margin-right:15px; float:left;'>Tel: +55 11 3577-7173<br>"; $corpo .= "email@meusite.com.br<br>"; $corpo .= "http://www.meusite.com.br/</td>"; $corpo .= "<td><img style='float:left; position:relative'></td>"; $corpo .= "</table></font></div></div>"; $corpo .= "</div>"; $arrayEmails = array(); $arrayEmails[0]="email2@meusite.com.br"; $arrayEmails[1]="email3@meusite.com.br"; $arrayEmails[2]="email4@meusite.com.br"; Util::enviaEmail("Remetente", $arrayEmails, "Aniversariantes ".$mes."/".$ano, $corpo,implode(";",$arrayEmails)); return "1"; } Como a função é chamada pelo arquivo Controller:
      public function emailAniversariantes() { $retorno = CadAdmin::emailAniversariantes(); echo $retorno; } Agradeço quem puder me ajudar.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.