Ir ao conteúdo
  • Cadastre-se

Marcos Pereira Simões

Membro Pleno
  • Posts

    61
  • Cadastrado em

  • Última visita

Tudo que Marcos Pereira Simões postou

  1. Preciso de um batch que leia um arquivo texto num diretório específico e com nome específico (EX: CB*.TXT). Esse arquivo possui 400 posições e nesse mesmo arquivo preciso identificar as linhas que possuem na posição 109-110 o código 33. Identificando, essas linhas que possuem esse código 33, elas deverão ser excluídas. Após a exclusão deve-se reordenar o arquivo e ajustar o sequencial que fica na posição 396-400, ou seja, ajustar a última linha conforme a anterior. No arquivo exemplo, preciso apagar as linhas 00005, 00006 e 00007 e após ajustar o sequencial para finalizar com 00005 no lugar de 00008. @ricardo_br e demais parceiros, me ajudem. CBTESTE.TXT
  2. @ricardo_br Boa tarde! Preciso de ajuda para criação de uma bat que execute a seguinte regra: Ex: Na pasta C:\Temp\Remessa eu teria os seguintes arquivos: ARQ_030201.txt; ARQ_030202.txt; ARQ_030203.txt ..............ARQ_030210.txt Eu precisaria mover esses arquivos para pasta C:\Temp\Enviado com a mesma nomenclatura, apenas adicionando .ok (ponto+ok) ARQ_030201.txt.ok; ARQ_030202.txt.ok; ARQ_030203.txt.ok ..............ARQ_030210.txt.ok obrigado
  3. Agradeço o tok é que o Ricardo sempre me ajudou. valeu. @ricardo_br Valeu camarada por mais essa ajuda. Perfeito, era exatamente como eu queria. @ZTMagradeço pelo retorno.
  4. @ricardo_br Fala camarada! Consegue me ajudar com a colocação de um sequencial nessa bat? Hoje o resultado é esse: CDC_2012.IDA Preciso assim: CDC_201201.IDA, CDC_201202.IDA, CDC_201203.IDA (sequencial nos últimos dois dígitos) @echo off set Origem=C:\Documentos\Marcos\CDC.IDA set Destino=C:\Users\marcos.psimoes\Documentos\Marcos\CDC_%date:~0,2%%date:~3,2%.IDA move /y "%Origem%" "%Destino%"
  5. @ricardo_br mano, salvou como ANSI, não consigo testar agora, mas creio que talvez funcione. Como é determinado na bat o encoding? valeu e obrigado mais uma vez.
  6. @ricardo_brboa tarde meu amigo! Cara, tô com uma situação meio louca. Quando eu rodo essa bat, gera certinho como eu quero, mas tem um detalhe que demorei pra conseguir encontrar. O arquivo está sendo gerado com encoding UCS-2 LE BOM, mas esse arquivo está sendo rejeitado pelo sistema, pois o devido teria que ser UTF-8. O código abaixo que você fez pra mim também, gera UTF-8. @echo off SetLocal EnableDelayedExpansion for /f "skip=1 tokens=3" %%a in ('reg query "HKCU\Control Panel\International" -v "sShortDate"') do set FormatoData=%%a FOR /L %%a in (0,1,6) do IF /I "!FormatoData:~%%a,4!"=="yyyy" set "PAno=%%a,4" FOR /L %%a in (0,1,6) do IF /I "!FormatoData:~%%a,2!"=="mm" set "PMeses=%%a,2" FOR /L %%a in (0,1,6) do IF /I "!FormatoData:~%%a,2!"=="dd" set "PDias=%%a,2" set DataAtual=!Date:~%PAno%!!Date:~%PMeses%!!Date:~%PDias%! set Ano=!Date:~%PAno%! set Mes=!Date:~%PMeses%! set Dia=!Date:~%PDias%! :: MesNu e DiaNu são data do Mês e Dia sem 0 na frente set /a MesNu=10000%Mes% %% 10000 set /a DiaNu=10000%Dia% %% 10000 set /a AnoNu=%Ano% @echo off Powershell (get-date).adddays(-3).tostring('yyyyMMdd')>"C:\Users\marcos.psimoes\Downloads\Marcos\Data.txt" Powershell (get-date).adddays(-3).tostring('yyyyMMdd')>>"C:\Users\marcos.psimoes\Downloads\Marcos\Data.txt" Exit :MesAnterior IF !MesNu! EQU 1 (set MesNu=12& set /a AnoNu=!AnoNu! - 1) else (set /a MesNu-=1) xcopy . temp /l /i /d:!MesNu!-!Contador!-!AnoNu! > nul 2>&1 IF /i !Errorlevel! EQU 0 (set DiaNu=!Contador!) else (Set /a Contador=!Contador!-1 & goto :MesAnterior) goto :EOF
  7. @ricardo_brFala mano! beleza? Cara, esse código acima só está funcionando se no lugar do GTR 4 eu trocar por EQU 4.
  8. @ricardo_br então, o sistema só busca a data se ela tiver gravada duas vezes. @ricardo_br seloko, god, funcionou perfeitamente
  9. @ricardo_br como faço pra direcionar o salvamento do arquivo num diretório específico?
  10. @ricardo_br independentemente, tipo dia 31/07 caiu num domingo e vou considerar isso. Pode considerar dias corridos.
  11. @ricardo_brFala meu amigo, bom dia! De novo novamente..rs Mano, é possível gerar uma bat que independentemente do dia que seja rodada, ela me traria um arquivo de data.txt com o último dia do mês anterior: Ex: Hoje dia 27/10 (ou qq outro dia de Outubro) eu rodo a bate e ela me traria um arquivo data.txt com as seguintes linhas: 20220930 20220930 No exemplo acima a data é o último dia de Setembro. E assim vai, em novembro geraria. 20221031 20221031 Se puder me ajudar...
  12. @ricardo_br fiz assim e funcionou .. START C:\Users\marcos\Downloads\Marcos\new\SCE.EXE Obrigado meu amigo
  13. @ricardo_brbom dia mano! To rodando isso pra testar (coloquei dois exes novos na pasta new e dois mais antigos na pasta old) robocopy "C:\Users\marcos\Downloads\Marcos\new\" "C:\Users\marcos\Downloads\Marcos\old" /xo /log+:"C:\Users\marcos\Downloads\Marcos\new\Atualizacoes.log" SCE.EXE Mas dá esse erro: ERRO: Parâmetro Inválido #2: "-" Tirei as Aspas (") e foi, mas não executou o arquivo exe
  14. @ricardo_brmano, uns tempos atrás você me ajudou com uma bat (anexa) que compactava arquivos e que inclusive ignorava sábados e domingos. Me ajuda, com base nessa bat anterior que você até corrigiu. Pergunta: é possível aplicar a essa bat anexa a mesma regra para compactar? Tipo gero os arquivos na segunda (17/10) e quando compactar no nome do arquivo iria a data de 14/10 sexta-feira. Compactar.txt
  15. @ricardo_brbom dia! Então, ontem eu rodei a bat e funcionou certinho, ou seja dia 17 e gerou o arquivo de datas com data de 12/10/2022 , ou seja, com 3 dias atrás desconsiderando o sábado e domingo, exatamente como eu queria. Qua, Qui, Sex, Sáb, Dom, Seg 12 13 14 15 16 17 Porém seguindo minha lógica, hoje dia 18 deveria gerar dia 13, porém gerou 15 (Sábado).
  16. @ricardo_brbom dia! Agradeço muito, rodei hoje e gerou certinho o arquivo de data com o dia 12/10. Amanhã dia 18, quando eu rodar, vai gerar o arquivo de data de 13/10? Abcs
  17. @ricardo_brna vdd são 3 dias anteriores, sempre desconsiderando o sábado e domingo. Mas a ideia é a mesma que mencionou. Digamos, segunda dia 17 eu gero 12/10 (desconsidera sáb e dom e menos 3 dias)
  18. @ricardo_brboa tarde meu camarada! Pra ilustrar... dia 13/10 (qui) - gerei arquivo de data de 10/10 (seg) dia 14/10 (sex) - gerei arquivo de data de 11/10 (ter) dia 17/10 (seg) devo gerar arquivo de data de 12/10 (qua) dia 18/10 (ter) devo gerar arquivo de data de 13/10 (qui) dia 19/10 (qua) devo gerar arquivo de data de 14/10 (sex) e assim por diante (sempre desconsiderando sábado e domingo) o esquema acima que me passou atende isso?
  19. @ricardo_br Meu amigo, boa tarde! veja se você já fez algo nesse sentido: Num servidor XPTO na pasta \\empresa\sistemas\RP eu tenho os seguintes arquivos/programas (hipotético) Nome Data da modificação SCE.EXE 10/10/2022 SCE1020.EXE 10/10/2022 SCE3040.EXE 10/10/2022 SCE.log 10/10/2022 SCE.ini 10/10/2022 SCE.txt 10/10/2022 Na minha máquina local no C:\Sistemas\ eu tenho esses mesmo arquivos e programas, porém com versão atrasada (conf data da modificação) SCE.EXE 10/09/2022 SCE1020.EXE 10/09/2022 SCE3040.EXE 10/09/2022 SCE.log 10/09/2022 SCE.ini 10/09/2022 SCE.txt 10/09/2022 Pergunta do milhão.. É possível criar uma bat ou vbs que eu ao clicar nessa, ela compara as versões, atualiza (ou não se tiver igual) e somente depois executa o programa SCE.EXE (programa principal)?

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!