Ir ao conteúdo
  • Cadastre-se
Luiz Henrique Rosa Pulheis

Outro Copiar determinado trecho de um arquivo txt via comando bat

Posts recomendados

Boa tarde Amigos,

Por gentileza, estou precisando criar um bat que faça a leitura de um arquivo de texto, no meu caso ele contem a versão de determinada aplicação.

Sendo assim, o bat precisa passar pelo arquivo txt, e copiar para outro txt ou até mesmo criar um arquivo com aquele "dado" copiado.

A linha é a 5ª e a posição é de 11 até 18.

Alguém pode me dar uma ideia de como fazer isso?

Até consegui algumas formas porém copia apenas a primeira linha.

set /p firstline=<file.txt SET
SELECAO=%firstline:~19,7%
ECHO %SELECAO%

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Luiz tudo bem!

Então, é bem simples!
Você esta no caminha certo e falta pouco para concluir, vou colocar o comando e explicar!

set /p firstline=<C:\\ARQUIVO.TXT SET SELECAO1=%firstline:~0,100% SELECAO2=%firstline:~100,150% > C:\SALVA_ARQUIVO.TXT

Luiz quando você cria a variável "SELECAO1" e define até onde ela vai copiar o conteúdo que você deseja "~0,100%"

sendo assim você pode criar outra variável "SELECAO2" e definir o restante que você deseja copiar "~100,150%" , então neste caso ele copiar o restante, lembrando que o parâmetro "FIRSTLINE" é a posição de cada caractere no texto, se seu texto tem 400 caracteres contando com espaço, você define onde quer copiar, se vai da posição inicial  1 a posição final 30 e assim sucessivamente, e por ultimo para salvar é muito simples, Luiz basta que o amigo adicione no final da instrução o sinal maior que ">" e o caminho do arquivo "C:\ARQUIVO.TXT" fica assim >C:\ARQUIVO.TXT.

Obj: Luiz quando o amigo buscar um arquivo com um caminho especifico ponha com duas barras assim ele acha sem problema

desta forma 😄\\ARQUIVO_QUE_VAI_SER_LIDO.TXT, fica a dica! espero ter ajudado!

e para finalizar necessariamente você precisa informa SET depois do arquivo ou nomes nas variavas!

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, digamos que o texto onde está a versão esteja no desktop, se chame "texto.txt" e tenha o segunte conteúdo:

 


Olá meu nome é Fulano
Isso é um teste
Eu moro em Brasília
700 Eu gosto de goiaba 700
A versão é 10.4.38
blá blá blá
13:19 03/06/2019

 

Essa é a parte que você quer pegar: 10.4.38

 

Crie o seguinte bat para salver apenas a versão em um arquivo chamado versao.txt no desktop:

 


@echo off
for /f "delims= skip=4" %%a in (%userprofile%\desktop\texto.txt) do (
set versao=%%a
goto end
)
:end
echo %versao:~11,9% > "%userprofile%\desktop\versao.txt"

 

Para apenas exibir a versão na tela:

 


@echo off
for /f "delims= skip=4" %%a in (%userprofile%\desktop\texto.txt) do (
set versao=%%a
goto end
)
:end
echo A versao e: %versao:~11,9%

echo.

pause

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 @ricardo_br como faço para copiar 2 linhas ou mais ?

adicionado 0 minutos depois

@ricardo_br como faço para copiar 2 linhas ou mais ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá vamos novamente supor que temos um arquivo chamado texto.txt na área de trabalho que tenha o seguinte texto:

 


Olá meu nome é Fulano
Isso é um teste
Eu moro em Brasília
700 Eu gosto de goiaba 700
A versão é 10.4.38
blá blá blá
13:19 03/06/2019

 

E você quer copiar as linhas 5 e 6 para um arquivo chamado copia.txt também na área de trabalho:

 


@echo off
setlocal EnableDelayedExpansion
If exist "copia.txt" del copia.txt
set /a cont=0
for /f "delims= skip=4" %%a in (%userprofile%\desktop\texto.txt) do (
echo %%a>> copia.txt
set /a cont=!cont!+1
if "!cont!"=="2" goto end
)
:end

 

Digamos que você queira copiar da linha 5 em diante até o fim: (skip=4 quer dizer pular 4 linhas no arquivo)

 


@echo off
If exist "copia.txt" del copia.txt
for /f "delims= skip=4" %%a in (%userprofile%\desktop\texto.txt) do echo %%a>> copia.txt



 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ricardo_br Ricardo... me salva rs... 
estou com dúvidas na hor acriar um .bat que imprimi um arquivo .docx em pdf

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ricardo_br, bom dia!
Preciso de sua ajuda em uma bat.

Tenho esse comando que precisa ser rodado por uma bat: Set-ADAccountExpiration -Identity nome.sobrenome -DateTime '19/02/2020 23:59:59'

Porém preciso que o nome.sobrenome e a data e hora seja lidos de outro arquivo txt para gerar essa bat.

 

Acho que eu vou ter que ter uma bat para poder gerar outra arquivo bat né?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu ver se entendi.

 

Você tem um arquivo com algumas informações digamos teste01.txt:

------------------------------

Nome: João

Sobrenome: Silva

Idade: 30

-----------------------------

 

E ai quer executar isso (Que parece um comando powershell) dentro de um bat?

Set-ADAccountExpiration -Identity João.Silva -DateTime '19/02/2020 23:59:59'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por ai mesmo.

 

Arquivo nome.txt vai conter:

 

joao.silva       '23/03/2020 23:59:59'

jose.pereira   '25/03/2020 23:59:59'

 

e ai precisa pegar cada linha e criar uma bat única (se possível) com todas as linhas preenchidas

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem se você vai executar comandos powershell de dentro do bat tem que colocar powershell no inicio da linha que vai executar o comando....


@echo off
for /f "tokens=1*" %%a in (nome.txt) do (
Powershell Set-ADAccountExpiration -Identity %%a -DateTime %%b
)

 

>>Vídeo<<

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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...

montagem2018-capa-newsletter2.jpg

PROMOÇÃO DE QUARENTENA

De R$ 39,90 por apenas R$ 19,90 só até as 23h59min desta sexta-feira 27/12/2020

CLIQUE AQUI E COMPRE AGORA MESMO!